zoukankan      html  css  js  c++  java
  • 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)
       >>> 
      
      #返回文件路径分隔符,一般为
       
      和
      
      
    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:UsersAdministratorusers
      #该方法需要指定路径,当指定的路径不存在时也不会影响该方法的执行。
      
    2. basename

      返回路径的最后一部分

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

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

      方法:os.path.dirname(path)
      返回值:str
      例如:print(os.path.dirname(r'a:c11.xx'))
       >>> a: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:users11.txt'))
       >>> 1506439442.2703443
      #该方法利用os.stat方法来获取文件属性里面的最后访问时间,由于返回值为一个时间戳,因此需要用time模块中ctime方法来转换为时间字符串格式。
      
    10. getctime

      获取文件的创建时间

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

      获取文件的最后修改时间

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

      获取文件大小

      方法:os.path.getsize(filename)
      返回值:int
      例如:print(os.path.getsize(r'd:users11.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:ua.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'ac'))
       >>> ac
      #当输入的路径为相对路径时,则返回的结果和输入的路径一样
      例如:print(os.path.relpath(r'ac'))
       ... ....ac
      #当输入的路径前面有时,则返回的相对路径会以..表示上级目录
      例如:print(os.path.relpath(r'm:ac',start='m:'))
       >>> ac
      #当输入的是绝对路径时,如果起始盘不是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:ac'))
       >>> ('c:\a\b','c')
      #该方法相当于把dirname与basename两个方法作为元祖的两个元素,当路径不存在时,程序不报错,最后一个路径分隔符后面的路径无论是目录还是文件都将作为元祖的第二个元素。
      
    28. splitdrive
    29. splitext

      分割路径与文件

      方法:os.path.split.ext(path)
      返回值:tuple
      例如:print(os.path.splitext(r'd:a'))
       >>> ('d:\a\b','')
      #该方法相当于split的升级,当路径最后面的路径是目录时,元祖的第二个元素将为空字符串,否则则返回文件名。
      
    30. splitunc
  • 相关阅读:
    一个例子看懂所有nodejs的官方网络demo
    HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)
    HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)
    HDU 4274 Spy's Work (树形DP)
    HDU 4274 Spy's Work (树形DP)
    HUST 1328 String (字符串前缀子串个数 --- KMP)
    HUST 1328 String (字符串前缀子串个数 --- KMP)
    POJ 3167 Cow Pattern ★(KMP好题)
    POJ 3167 Cow Pattern ★(KMP好题)
    HDU 2594 Simpsons’ Hidden Talents (KMP)
  • 原文地址:https://www.cnblogs.com/single-boy/p/7599588.html
Copyright © 2011-2022 走看看