python中os模块详解

yipeiwu_com5年前Python基础

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……

os.sep可以取代操作系统特定的路径分隔符。windows下为 “\\”,Linux下为"/"

os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

os.pathsep 输出用于分割文件路径的字符串,系统使用此字符来分割搜索路径(像PATH),例如POSIX上':',Windows上的';'

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

os.curdir 返回当前目录: ('.')

os.pardir 获取当前目录的父目录字符串名:('..')

os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname

os.makedirs('dirname1/dirname2') 可生成多层递归目录

os.remove(file) 删除一个文件

os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.rename("oldname","newname") 重命名文件/目录,如果newname存在则替换出现错误

os.replace(src,dest) 重命名文件/目录,如果dest表示的是文件,存在则覆盖原来的文件,不报错;若是目录,存在则会报错

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)

Ex:os.chmod('C:\\my_share_file\\test.sh',755)

os.stat('path/filename') 获取文件/目录信息

os.utime(path,times) 修改时间属性 times是个元组,(atime,mtime),这两个时间数可以通过os.stat获取

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

1.top表示需要遍历的目录树的路径

2.topdown的默认值是”True”,表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为”False”时,

则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件

3.onerror的默认值是”None”,表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历

该函数返回一个元组,该元组有3个元素,这3个元素分别表示当前遍历的目录,当前遍历的目录列表,当前遍历的目录的文件列表

os.walk()举例:

>>> import os

>>> for root, dirs, files in os.walk("wd/chat", topdown=False):

... for name in files:

... print(os.path.join(root, name)) #打印文件绝对路径

... for name in dirs:

... print(os.path.join(root, name)) #打印目录绝对路径

os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

os.getenv()获取一个环境变量,如果没有返回none

os.putenv(key, value)设置一个环境变量值

os.environ[]获取环境变量的值 两者等价:os.environ[‘HOME'] <->os.getenv(‘HOME')

os.system(command)函数用来运行shell命令。

os.popen("bash command") 运行shell命令,生成对象,可赋给变量,再用read读取

相关文章

Python中unittest用法实例

本文实例讲述了Python中unittest的用法,分享给大家供大家参考。具体用法分析如下: 1. unittest module包含了编写运行unittest的功能,自定义的test...

Python中的类与对象之描述符详解

描述符(Descriptors)是Python语言中一个深奥但却重要的一部分。它们广泛应用于Python语言的内核,熟练掌握描述符将会为Python程序员的工具箱添加一个额外的技巧。为了...

python超时重新请求解决方案

在应用中,有时候会 依赖第三方模块执行方法,比如调用某模块的上传下载,数据库查询等操作的时候,如果出现网络问题或其他问题,可能有超时重新请求的情况; 目前的解决方案有 1. 信号量,但不...

Django模板Templates使用方法详解

Django模板Templates使用方法详解

一、django的模板: 在settings.py的文件中可以看到并设置这个模板。 1.直接映射: 通过建立的文件夹(templates)和文件(html)来映射。 <!D...

python TKinter获取文本框内容的方法

如下所示: #coding:utf-8 import urllib,urllib2 import Tkinter #导入TKinter模块 ytm=Tkinter.Tk() #创...