python os.path模块常用方法详解

时间:2022-01-15 23:03:59

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html

  
 
 
  1. 1.os.path.abspath(path) 
  2. 返回path规范化的绝对路径。 
  3.  
  4. >>> os.path.abspath('test.csv'
  5. 'C:\\Python25\\test.csv' 
  6.  
  7. >>> os.path.abspath('c:\\test.csv'
  8. 'c:\\test.csv' 
  9.  
  10. >>> os.path.abspath('../csv\\test.csv'
  11. 'C:\\csv\\test.csv' 
  12.  
  13. 2.os.path.split(path) 
  14. 将path分割成目录和文件名二元组返回。 
  15.  
  16. >>> os.path.split('c:\\csv\\test.csv'
  17. ('c:\\csv''test.csv'
  18. >>> os.path.split('c:\\csv\\'
  19. ('c:\\csv'''
  20.  
  21. 3.os.path.dirname(path) 
  22. 返回path的目录。其实就是os.path.split(path)的第一个元素。 
  23.  
  24. >>> os.path.dirname('c:\\csv\test.csv'
  25. 'c:\\' 
  26. >>> os.path.dirname('c:\\csv'
  27. 'c:\\' 
  28.  
  29. 4.os.path.basename(path) 
  30. 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。 
  31.  
  32. >>> os.path.basename('c:\\test.csv'
  33. 'test.csv' 
  34. >>> os.path.basename('c:\\csv'
  35. 'csv' (这里csv被当作文件名处理了) 
  36. >>> os.path.basename('c:\\csv\\'
  37. '' 
  38.  
  39. 5.os.path.commonprefix(list) 
  40. 返回list中,所有path共有的最长的路径。 
  41.  
  42. 如: 
  43. >>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff']) 
  44. '/home/td' 
  45.  
  46. 6.os.path.exists(path) 
  47. 如果path存在,返回True;如果path不存在,返回False。 
  48.  
  49. >>> os.path.exists('c:\\'
  50. True 
  51. >>> os.path.exists('c:\\csv\\test.csv'
  52. False 
  53.  
  54. 7.os.path.isabs(path) 
  55. 如果path是绝对路径,返回True。 
  56.  
  57. 8.os.path.isfile(path) 
  58. 如果path是一个存在的文件,返回True。否则返回False。 
  59.  
  60. >>> os.path.isfile('c:\\boot.ini'
  61. True 
  62. >>> os.path.isfile('c:\\csv\\test.csv'
  63. False 
  64. >>> os.path.isfile('c:\\csv\\'
  65. False 
  66.  
  67. 9.os.path.isdir(path) 
  68. 如果path是一个存在的目录,则返回True。否则返回False。 
  69.  
  70. >>> os.path.isdir('c:\\'
  71. True 
  72. >>> os.path.isdir('c:\\csv\\'
  73. False 
  74. >>> os.path.isdir('c:\\windows\\test.csv'
  75. False 
  76.  
  77. 10.os.path.join(path1[, path2[, ...]]) 
  78. 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。 
  79.  
  80. >>> os.path.join('c:\\', 'csv', 'test.csv') 
  81. 'c:\\csv\\test.csv' 
  82. >>> os.path.join('windows\temp''c:\\', 'csv', 'test.csv') 
  83. 'c:\\csv\\test.csv' 
  84. >>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c'
  85. '/home/aa/bb/c' 
  86.  
  87. 11.os.path.normcase(path) 
  88. 在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。 
  89.  
  90. >>> os.path.normcase('c:/windows\\system32\\'
  91. 'c:\\windows\\system32\\' 
  92.  
  93. 12.os.path.normpath(path) 
  94. 规范化路径。 
  95.  
  96. >>> os.path.normpath('c://windows\\System32\\../Temp/'
  97. 'c:\\windows\\Temp' 
  98.  
  99. 12.os.path.splitdrive(path) 
  100. 返回(drivername,fpath)元组 
  101.  
  102. >>> os.path.splitdrive('c:\\windows'
  103. ('c:''\\windows'
  104.  
  105. 13.os.path.splitext(path) 
  106. 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作 
  107.  
  108. >>> os.path.splitext('c:\\csv\\test.csv'
  109. ('c:\\csv\\test''.csv'
  110.  
  111. 14.os.path.getsize(path) 
  112. 返回path的文件的大小(字节)。 
  113.  
  114. >>> os.path.getsize('c:\\boot.ini'
  115. 299L 
  116.  
  117. 15.os.path.getatime(path) 
  118. 返回path所指向的文件或者目录的最后存取时间。 
  119.  
  120. 16.os.path.getmtime(path) 
  121. 返回path所指向的文件或者目录的最后修改时间 

本文出自 “王伟” 博客,请务必保留此出处http://wangwei007.blog.51cto.com/68019/1104940