Python中模块之os的功能介绍

                            Python中模块之os的功能介绍

1. os的变量

  1. path

    模块路径

    方法:os.path
    返回值:module
    例如:print(os.path)
     >>> <module 'ntpath' from 'D:\\python3.5.2\\lib\\ntpath.py'>
    #返回posixpath和netpath两个模块中任意一个模块
    
  2. name

    模块名

    方法:os.name
    返回值:str
    例如:print(os.name)
     >>> nt
    #返回posix nt和ce任意一个模块名
    
  3. curdir

    当前目录字符串

    方法:os.curdir
    返回值:str
    例如:print(os.curdir)
     >>> .
    #返回一个字符串代表当前目录,一般为.和:
    
  4. pardir

    父级目录字符串

    方法:os.pardir
    返回值:str
    例如:print(os.pardir)
     >>> ..
    #返回一个字符串代表上一级目录,一般为..和::
    
  5. sep

    路径分隔符

    方法:os.sep
    返回值:str
    例如:print(os.sep)
     >>> \\
    #返回最常用的路径分隔符,一般为/ : 和 \\
    
  6. extsep

    延伸路径分隔符

    方法:os.extsep
    返回值:str 
    例如:print(os.extsep)
     >>> .
    #返回延伸路径分隔符,一般为.
    
  7. altsep

    备用路径分隔符

    方法:os.altsep
    返回值:str
    例如:print(os.altsep)
     >>> /
    #返回备用路径分隔符,一般为None和/
    
  8. pathsep

    环境变量中的路径分隔符

    方法:os.pathsep
    返回值:str
    例如:print(os.pathsep)
     >>> ;
    #返回环境变量中的路径分隔符
    
  9. linesep

    文件中的路径分隔符

    方法:os.linesep
    返回值:str
    例如:print(os.linesep)
     >>> \r\n
    #返回文件路径分隔符,一般为\r \n和\r\n
    
  10. defpath

    可执行文件的默认搜索路径

    方法:os.defpath
    返回值:str
    例如:print(os.defpath)
     >>> .;C:\\bin
    #返回可执行文件的默认搜索路径
    
  11. devnull

    空设备的文件路径

    方法:os.devnull
    返回值:str
    例如:print(os.devnull)
     >>> nul
    #返回空设备的文件路径
    
  12. environ

    以字典的形式获取当前系统的环境变量

    方法:os.environ
    返回值:os._Environ
    #获取当前系统的环境变量,以字典key:value的形式返回
    

2. os的方法

  1. abort

    立即中断解释器

    方法:os.abort()
    返回值:None
    #直接关闭解释器并退出Python解释器
    
  2. access

    利用真实的uid和gid对访问路径测试

    方法:os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)
    
  3. chdir

    更改当前目录到指定目录

    方法:os.chdir(path)
    返回值:None
    #直接把当前目录切换到指定目录下
    
  4. chmod

    更改文件的访问权限

    方法: os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)
    
  5. close

    关闭一个文件的描述符

    方法:os.close(fd)
    
  6. closerange

    关闭所有文件的描述符,从低到高,忽略错误

    方法:os.closerange(fd_low,fd_high)
    
  7. cpu_count

    cpu数量

    方法:os.cpu_count()
    返回值:int
    例如:print(os.cpu_count())
     >>> 4
    #返回当前系统中cpu的数量,如果无法确定将返回None
    
  8. device_encoding

    终端文件描述符编码的字符串

    方法:os.device_encoding(fd)
    
  9. dup

    返回一个文件描述符的复制品

    方法:os.dup(fd)
    
  10. dup2

    复制文件描述符

    方法:os.dup2(fd,fd2,inheritable=True)
    
  11. execl
  12. execle
  13. execlp
  14. execlpe
  15. execve
  16. execvp
  17. execvpe
  18. fdopen
  19. fsdecode
  20. fsencode
  21. fstat
  22. fsync
  23. ftruncate
  24. getexecpath
  25. gethandleinheritable
  26. get_inheritable
  27. getterminalsize
  28. getcwd

    获取当前路径

    方法:os.getcwd()
    返回值:str
    例如:print(os.getcwd())
     >>> C:\\Users\\Administrator
    
  29. getcwdb

    获取当前路径,以字节格式返回

    方法:os.getcwdb()
    返回值:bytes
    例如:print(os.getcwd())
     >>> b'C:\\Users\\Administrator'
    
  30. getenv
  31. getlogin

    返回当前登陆的用户名

    方法:os.getlogin()
    返回值:str
    例如:print(os.getlogin())
     >>> qiao
    
  32. getpid

    返回当前进程id

    方法:os.getpid()
    返回值:int
    
  33. getppid

    返回上级进程id

    方法:os.getppid()
    返回值:int
    
  34. isatty

    判断文件是否是一个终端设备

  35. kill

    用信号结束指定id的进程

  36. link

    创建一个链接文件

    方法:os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)
    
  37. listdir

    把目录下的文件名和目录名作为列表的元素返回

    方法:os.listdir(path=None)
    返回值:list
    #默认处理当前目录,当然也可以指定其他路径
    
  38. lseek
  39. lstat

    把文件的属性信息以元祖的形式返回

    方法:os.lstat(path, *, dir_fd=None)
    返回值:os.stat_result
    
  40. makedirs

    递归创建文件夹

    方法:os.makedirs(name, mode=511, exist_ok=False)
    
  41. mkdir

    创建一个文件夹

    方法:os.mkdir(path, mode=511, *, dir_fd=None)
    
  42. open
  43. pipe
  44. popen
  45. putenv

    增加一个环境变量

    方法:os.putenv(name,value)
    
  46. read
  47. readlink
  48. remove

    删除一个文件

    方法:os.remove(path, *, dir_fd=None)
    #只能删文件,不能删目录
    
  49. removedirs

    递归删除空目录

    方法:os.removedirs(name)
    
  50. raname

    重命名

    方法:os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
    #如果文件路径不一样则为移动文件
    
  51. ranames

    超级重命名

    方法:os.ranames(old,new)
    #可以吧整个文件夹包含文件夹内的所有文件都直接移动到其他路径或者直接修改该文件夹名
    
  52. replace

    重命名一个文件或目录,存在则覆盖

    方法:os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
    #当目录下有文件时,则文件也一起被移动
    
  53. rmdir

    删除一个空目录

    方法:os.rmdir(path, *, dir_fd=None)
    #当目录不为空时,则程序报错
    
  54. scandir
  55. sethandleinheritable
  56. set_inheritable
  57. spawnl
  58. spawnle
  59. spawnv
  60. startfile
  61. stat

    以元祖形式返回文件属性

    方法:os.stat(path, *, dir_fd=None, follow_symlinks=True)
    返回值:os.stat_result
    
  62. statfloattimes
  63. strerror
  64. symlink
  65. system

    调用系统命令

    方法:os.system(command)
    #与直接在系统中执行命令一样
    
  66. times

    以元祖的形式返回一个收集的时间

    方法:os.times()
    
  67. truncate

    截取文件的长度

    方法:os.truncate(path,length)
    #从文件的开头开始截取,多余的部分直接删除
    
  68. umask
  69. unlink

    删除一个文件

    方法:os.unlink(path, *, dir_fd=None)
    #该方法功能与remove一样
    
  70. urandom
  71. utime

    修改文件的最后访问时间和修改时间

    方法:os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)
    
  72. waitpid
  73. walk
  74. write

path类

1. path的变量

1. altsep备用路径分隔符
2. curdir当前目录字符串表示
3. defpath可执行文件默认搜索路径
4. devnull空设备到文件路径,一般为nul
5. extsep延伸路径分隔符
6. pardir上级目录字符串表示
7. pathsep环境变量中的路径分隔符
8. sep路径分隔符

注:由于os模块中的变量包含上述变量,因此具体介绍可参考os变量。

2. path的方法

  1. abspath

    获取路径的绝对路径

    方法:os.path.abspath(path)
    返回值:str
    例如:print(os.path.abspath(r'users'))
     >>> C:\Users\Administrator\users
    #该方法需要指定路径,当指定的路径不存在时也不会影响该方法的执行。
    
  2. basename

    返回路径的最后一部分

    方法:os.path.basename(path)
    返回值:str
    例如:print(os.path.basename(r'd:\users'))
     >>> 'users'
    例如:print(os.path.basename(r'd:\users\11.txt'))
     >>> '11.txt'
    #该方法获取指定路径的最后一部分,不管最后一部分是文件名还是目录名,当指定的路径不存在时也不会影响该方法的执行。
    
  3. commonpath
  4. commonprefix
  5. dirname

    获取除去路径最后一部分的所有路径

    方法:os.path.dirname(path)
    返回值:str
    例如:print(os.path.dirname(r'a:\b\c\11.xx'))
     >>> a:\b\c
    #该方法刚好与basename相反,具体参考basename方法。
    
  6. exists

    判断路径是否存在

    方法:os.path.exists(path)
    返回值:bool
    例如:print(os.path.exists(r'c:\1'))
     >>> False
    #只有当指定路径存在时,才会返回True。
    
  7. expanduser
  8. expandvars
  9. getatime

    获取文件最后访问时间

    方法:os.path.getatime(filename)
    返回值:int
    例如:print(os.path.getatime(r'd:\users\11.txt'))
     >>> 1506439442.2703443
    #该方法利用os.stat方法来获取文件属性里面的最后访问时间,由于返回值为一个时间戳,因此需要用time模块中ctime方法来转换为时间字符串格式。
    
  10. getctime

    获取文件的创建时间

    方法:os.path.getctime(filename)
    返回值:int
    例如:print(os.path.getctime(r'd:\users\11.txt'))
     >>> 1506431925.714422
    #该方法同getatime方法类似,可以参考getatime方法。
    
  11. getmtime

    获取文件的最后修改时间

    方法:os.path.getctime(filename)
    返回值:int
    例如:print(os.path.getmtime(r'd:\users\11.txt'))
     >>> 1506439442.2703443
    #该方法同getatime方法类似,可以参考getatime方法。
    
  12. getsize

    获取文件大小

    方法:os.path.getsize(filename)
    返回值:int
    例如:print(os.path.getsize(r'd:\users\11.txt'))
     >>> 30
    #该方法获取文件的大小,以字节为单位,同样利用os.stat方法获取文件属性。
    
  13. isabs

    判断是否是绝对路径

    方法:os.path.isabs(path)
    返回值:bool
    例如:print(os.path.isabs('d:\12.x'))
     >>> True
    #在windows中该方法的判断依据为:以及:前面的一个字母,字母取值范围为从a到z中的任意一个字母。
    
  14. isdir

    判断路径是否是一个目录

    方法:os.path.isdir(path)
    返回值:bool
    例如:print(os.path.isdir(r'd:\users'))
     >>> True
    #当指定路径不存在时,程序不会报错,将会返回False
    
  15. isfile

    判断路径是否是一个文件

    方法:os.path.isfile(path)
    返回值:bool
    例如:print(os.path.isfile(r'd:\users'))
     >>> False
    #当指定路径不存在时,程序不会报错,将会返回False
    
  16. islink

    判断路径是否是一个符号链接

    方法:os.path.islink(path)
    返回值:bool
    
  17. ismount

    判断路径是否是一个挂载点

    方法:os.path.ismount(path)
    返回值:bool
    
  18. join

    合并多个路径

    方法:os.path.join(path,*paths)
    返回值:str
    例如:print(os.path.join(r'd:\u','a.xx'))
     >>> d:\u\a.xx
    #该方法有局限性,一般用于多个路径合并时,传入的参数需要满足一个条件后面的参数是前面参数的子路径。否则合并将出现混乱,但不会报错。
    
  19. lexists
  20. normcase
  21. normpath
  22. realpath

    返回路径的真实路径

    方法:os.path.realpath(path)
    返回值:str
    #该方法等于abspath方法。
    
  23. relpath

    获取路径的相对路径

    方法:os.path.relpath(path,start=None)
    返回值:str
    例如:print(os.path.relpath(r'a\b\c'))
     >>> a\b\c
    #当输入的路径为相对路径时,则返回的结果和输入的路径一样
    例如:print(os.path.relpath(r'\a\b\c'))
     ... ..\..\a\b\c
    #当输入的路径前面有\时,则返回的相对路径会以..表示上级目录
    例如:print(os.path.relpath(r'm:\a\b\c',start='m:'))
     >>> a\b\c
    #当输入的是绝对路径时,如果起始盘不是c盘时,需要指定起始盘
    
  24. samefile

    判断两个路径指定的是否是同一个文件

    方法:os.path.samefile(f1,f2)
    返回值:bool
    #该方法可以理解为判断f1和f2是否是绝对路径和相对路径。
    
  25. sameopenfile

    判断打开的两个文件对象是否是同一个文件

    方法:os.path.sameopenfile(fp1,fp2)
    返回值:bool
    #该方法需要用到文件描述符
    
  26. samestat
  27. split

    分割路径

    方法:os.path.split(path)
    返回值:tuple
    例如:print(os.path.split(r'c:\a\b\c'))
     >>> ('c:\\a\\b','c')
    #该方法相当于把dirname与basename两个方法作为元祖的两个元素,当路径不存在时,程序不报错,最后一个路径分隔符后面的路径无论是目录还是文件都将作为元祖的第二个元素。
    
  28. splitdrive
  29. splitext

    分割路径与文件

    方法:os.path.split.ext(path)
    返回值:tuple
    例如:print(os.path.splitext(r'd:\a\b'))
     >>> ('d:\\a\\b','')
    #该方法相当于split的升级,当路径最后面的路径是目录时,元祖的第二个元素将为空字符串,否则则返回文件名。
    
  30. splitunc
posted @ 2017-09-26 23:29  Python改变生活  阅读(1043)  评论(0编辑  收藏  举报