python常用模块之os模块

来源:互联网 发布:新概念英语4 知乎 编辑:程序博客网 时间:2024/06/06 00:16

os模块的作用:

  • os,语义为操作系统,主要是对操作系统的调用.
  • os模块不受平台限制,想要获取文件当前所在路径,命令方式在windows下为dir, 在linux下为pwd,使用python中os模块的os.path.abspath(name)功能,不管是linux或者Windows都可以获取当前的绝对路径。

os模块

有关路径

# 获取当前的工作目录,类似linux中的pwd;os.getcwd()# 改变当前工作目录,类似linux的cd os.chdir('..')# 返回当前路径,结果为'.'os.curdir# 返回当前路径的上一级路径,结果为'..'os.pardir

有关目录

# 在当前目录下创建目录test1,也可以指定绝对路径,比如:/mnt/test1;os.mkdir('test1')# 如果想要创建test2/test3目录时,上面的创建目录操作就会直接报错,# 因此如何实现递归创建目录,调用下面的函数即可.os.makedirs('test2/test3')# 删除当前目录下的test1目录,也可以指定绝对路径,比如:/mnt/test1;os.rmdir('test1')# 删除递归创建的目录test2/test3,如果目录为空,则删除,并递归到上一级目录,如果还为空,依次删除.os.removedirs('test2/test3')# 列出当前目录的内容,类似linux的ls;os.listdir('/mnt')

有关文件

# 删除hello文件,删除的文件也可以通过绝对路径指定;os.remove('hello')

相关属性

# 文件或目录重命名, 下面是将hello文件重命名为hello1文件。os.rename('hello', 'hello1')# 文件或目录属性查看,# 返回值为:posix.stat_result(st_mode=16893, st_ino=807628007, st_dev=2051L, st_nlink=2, st_uid=1000, st_gid=1000, st_size=6, st_atime=1501747596, st_mtime=1501747596, st_ctime=1501747596)os.stat('hello')# 获取hello文件的大小,其他属性信息依次类推;os.stat('hello').st_size

有关平台

# 输出操作系统指定的路径分隔符,win下为'\\',linux下为'/';os.sep# 输出当前平台使用的行终止符, win下为'\t\n', linux下为'\n';os.linesep# 输出用于分割文件路径的字符串os.pathsep# 输出当前使用平台,win下为'nt', linux下为'posfix'os.name# 运行shell命令,直接返回执行结果os.system('df -h')# 获取当前环境变量os.environ

os.path模块

有关路径

# 返回一个文件或目录的绝对路径;os.path.abspath('hello')# 分离某个绝对路径,返回结果为元组类型,(目录, 文件名), 即('/home/kisok','hello');os.path.split('/home/kiosk/hello')# 返回/home/kiosk/hello所在目录,即'/home/kiosk';os.path.dirname('/home/kiosk/hello')# 返回/home/kiosk/hello中的文件名,即'hello';如果路径以'/'或'\'结尾,返回值为空;   os.path.basename('/home/kiosk/hello')# 查看某个文件或目录是否存在,若存在返回True,否则返回False; os.path.exists('/mnt/hello')# 查看某个路径是否为绝对路径,如果是绝对路径返回True,否则返回False;os.path.isabs('/mnt/hello')# 将多个路径组合后返回,组合结果为/a/hello.mdos.path.join('/a','hello.md')

有关文件类型

# 查看是否为文件类型,如果是返回True,否则返回False; os.path.isfile('/etc/passwd')# 查看是否为目录,如果是返回True, 否则返回False;os.path.isdir('/etc/passwd')    # 查看是否为链接文件,如果是返回True,否则返回False; os.path.islink('/etc/passwd')# 查看某个目录是否有设备挂载 os.path.ismount('/mnt')  

获取文件的时间戳

# 获取文件的创建(create)时间戳os.path.getatime('/etc/passwd')# 获取文件改变(change)时间戳 os.path.getctime('/etc/passwd')# 获取文件修改(modify)时间戳 os.path.getmtime('/etc/passwd')# 获取文件大小os.path.getsize('/etc/passwd')
原创粉丝点击