python os模块

来源:互联网 发布:斗鱼软妹小九九淘宝店 编辑:程序博客网 时间:2024/06/01 08:38
  1. #!/usr/bin/python  
  2. #coding:utf8  
  3.   
  4. # python 中os模块的学习  
  5. import os  
  6. """ 
  7. os模块方法: 
  8. ==================================================================== 
  9. @1.)文件操作: 
  10. remove()/unlink()         删除文件 
  11. rename()/renames()        重命名文件/目录 
  12. stat()                    返回文件信息 
  13. symlink()                 创建符号链接 
  14. utime()                   更新时间戳 
  15. tmpfile()                 创建并打开('w+b')一个临时文件 
  16. walk()                    生成一个目录树下的所有文件名 
  17. @2.)目录/文件夹操作: 
  18. chdir()/fchdir()          改变当前工作目录/通过文件描述符改变 
  19. chroot()                  改变当前进程的根目录 
  20. listdir()                 列出指定目录下的文件 
  21. getcwd()/getcwdu()        返回当前工作目录/unicode模式的返回值 
  22. mkdir()/makedirs()        创建目录/创建多层目录 
  23. rmdir()/removedirs()      删除目录/删除多层目录 
  24. @3.)访问/权限: 
  25. access()                  检验权限模式 
  26. chmod()                   更改权限 
  27. chown()/lchown()          更改文件所有者,GroupID/同功能,不追踪lnk 
  28. umask()                   设置默认权限 
  29. @4.)文件描述符操作: 
  30. open()                    
  31. read()/write() 
  32. dup()/dup2()              复制文件描述符/将一个文件描述符复制到另一个 
  33. ================================================================== 
  34. os.path路径名访问方法: 
  35. ================================================================== 
  36. @1.)分割: 
  37. basename()               去掉目录名,返回文件名 
  38. dirname()                去掉文件名,返回目录名 
  39. join()                   将分离的各部分重新组合成路径名 
  40. split()                  返回(dirname(),basename())元组 
  41. splitdrive()             返回(drivename,pathname)元组 
  42. splitext()               返回(文件名,扩展名)元组 
  43. @2.)信息: 
  44. getatime()               返回最近访问的时间 
  45. getctime()               返回创建的时间 
  46. getmtime()               返回修改的时间 
  47. getsieze()               返回文件大小 
  48. @3.)查询判断: 
  49. exists()                 指定路径(文件或目录)是否存在 
  50. isabs()                  指定路径是否是绝对路径 
  51. isdir()                   
  52. isfile() 
  53. islink() 
  54. ismount()               是否是挂载点 
  55. samefile()              俩路径是否指向同一文件 
  56. ================================================================== 
  57. """  
  58.   
  59. # os.access(path,mode)主要是测试文件的是否存在(调用os.F_OK属性)  
  60.     # 文件有没有可读性(调用os.R_OK)  
  61.     # 文件能不能写入(调用os.W_OK)  
  62.     # 文件能不能执行(调用os.X_OK)方法返回的是bool值  
  63. # ——————————————————————————————————————————————————————————————  
  64. path = os.getcwd()  
  65. # 测试下面这个文件时不是存在  
  66. ret = os.access(path,os.F_OK)  
  67. print 'os.access(path,os.F_OK):',ret            #返回一个bool值  
  68.   
  69. # 测试path这个有没有写的权限  
  70. ret = os.access(path,os.W_OK)  
  71. print 'os.access(path,os.W_OK):',ret            #返回一个bool值  
  72.   
  73. # 测试path这个有没有读的权限  
  74. ret = os.access(path,os.R_OK)  
  75. print 'os.access(path,os.R_OK):',ret            #返回一个bool值  
  76.   
  77. # 测试path这个有没有执行的权限  
  78. ret = os.access(path,os.X_OK)  
  79. print 'os.access(path,os.X_OK):',ret            #返回一个bool值  
  80.   
  81.   
  82. # out 1>  os.access(path,os.F_OK): True  
  83. # out 2>  os.access(path,os.W_OK): True  
  84. # out 3>  os.access(path,os.R_OK): True  
  85. # out 4>  os.access(path,os.X_OK): True  
  86. # ————————————————————————————————————————————————————————————————  
  87.   
  88.   
  89. # os.getcwd()是获取当前路径的  
  90. # ————————————————————————————————————————————————————————————————  
  91. path = os.getcwd()  
  92. print path  
  93.   
  94. # out 1> C:\Users\quan\Desktop\学习积累\python语言\每天一python  
  95. # ————————————————————————————————————————————————————————————————  
  96.   
  97. # os.chdir(path)改变当前路径的  
  98. # ————————————————————————————————————————————————————————————————  
  99. path = os.getcwd()  
  100. print 'now_path :', path  
  101.   
  102. os.chdir('C:\\')  
  103. chdir_path = os.getcwd()  
  104. print 'chdir_path :', chdir_path  
  105.   
  106. # out 1>  now_path : C:\Users\quan\Desktop\学习积累\python语言\每天一python  
  107. # out 2>  chdir_path : C:\  
  108. # ————————————————————————————————————————————————————————————————  
  109.   
  110. # os.listdir(path)列出当前文件下的所有文件(类似于linux文件下的ls命令)  
  111. # ————————————————————————————————————————————————————————————————  
  112. path_file = os.listdir('./')  
  113. print 'path_file',path_file  
  114.   
  115. #由于上面改变了路径(所以当前目录是 C:\ )  
  116. # out > path_file ['$360Section', '$Recycle.Bin', '.rnd', '360SANDBOX', 'baidu download', 'DMDownLoad', 'Documents and Settings', 'Drivers', 'DriversBackup', 'duomi', 'hiberfil.sys', 'Intel', 'NVIDIA', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Python27', 'Recovery', 'System Volume Information', 'Users', 'vmwer', 'Windows', 'zolwk']  
  117. # ————————————————————————————————————————————————————————————————  
  118.   
  119. # os.mkdir(folder)是创建文件夹的命令  
  120. # ————————————————————————————————————————————————————————————————  
  121.   
  122. # 首先测试一下test.py是不是存在  
  123. print os.access("C:\\test.py",os.F_OK)  
  124. if not  os.access("C:\\test.py",os.F_OK):  
  125.     os.mkdir("C:\\test.py")  
  126. print os.access("C:\\test.py",os.F_OK)        #说明文件test.py已经被创建了  
  127.   
  128. # out 1> False  
  129. # out 2> True  
  130. # ————————————————————————————————————————————————————————————————  
  131.   
  132. # os.rmdir(path)表示删除文件夹的与os.mkdir(path) 正好相反  
  133. # ————————————————————————————————————————————————————————————————  
  134.   
  135. print os.access("C:\\test.py",os.F_OK)  
  136. if os.access("C:\\test.py",os.F_OK):  
  137.     os.rmdir('C:\\test.py')  
  138. print os.access("C:\\test.py",os.F_OK)  
  139.   
  140. # out 1> True  
  141. # out 2> False  
  142. # ————————————————————————————————————————————————————————————————  
  143.   
  144. # tat模块描述了os.stat(filename)返回的文件属性列表中各值的意义.我们可方便地根据stat模块存取os.stat()中的值.  
  145. # os.stat(path)执行一个stat()系统调用在给定的path上,  
  146. # 返回一个类元组对象(stat_result对象,包含10个元素),  
  147. # 属性与stat结构成员相关:st_mode(权限模式),  
  148. # st_ino(inode number),st_dev(device),st_nlink(number of hard links),  
  149. # st_uid(所有用户的user id),s  
  150. # t_gid(所有用户的group id),  
  151. # st_size(文件大小,以位为单位),  
  152. # st_atime(最近访问的时间),  
  153. # st_mtime(最近修改的时间),  
  154. # st_ctime(创建的时间)  
  155. >>> import os  
  156. >>> print os.stat("/root/python/zip.py")  
  157. (33188203308026626L100864129765359612755281021292892895)  
  158. >>> print os.stat("/root/python/zip.py").st_mode   #权限模式  
  159. 33188  
  160. >>> print os.stat("/root/python/zip.py").st_ino    #inode number  
  161. 2033080  
  162. >>> print os.stat("/root/python/zip.py").st_dev    #device  
  163. 26626  
  164. >>> print os.stat("/root/python/zip.py").st_nlink  #number of hard links  
  165. 1  
  166. >>> print os.stat("/root/python/zip.py").st_uid    #所有用户的user id  
  167. 0  
  168. >>> print os.stat("/root/python/zip.py").st_gid    #所有用户的group id  
  169. 0  
  170. >>> print os.stat("/root/python/zip.py").st_size   #文件的大小,以位为单位  
  171. 864  
  172. >>> print os.stat("/root/python/zip.py").st_atime  #文件最后访问时间  
  173. 1297653596  
  174. >>> print os.stat("/root/python/zip.py").st_mtime  #文件最后修改时间  
  175. 1275528102  
  176. >>> print os.stat("/root/python/zip.py").st_ctime  #文件创建时间  
  177. 1292892895 
  178.  
  179. 几种常用的os.path命令:  
  180. os.path.isfile(filename)  检查路径下是否存在该文件
  181. os.path.split()
  182. os.path.joint()








0 0