Python文件操作之OS模块

来源:互联网 发布:反潜鱼雷 知乎 编辑:程序博客网 时间:2024/05/01 07:35

OS模块常用函数参考

os.sep :可以取代操作系统特定的路径分隔符。windows下为 ‘\’
os.name :字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是 ‘posix’
os.getcwd() :函数得到当前工作目录,即当前Python脚本工作的目录路径
os.getenv() :获取一个环境变量,如果没有返回none
os.putenv(key, value) :设置一个环境变量值
os.listdir(path) :返回指定目录下的所有文件和目录名
os.remove(path) :函数用来删除一个文件
os.system(command) :函数用来运行shell命令
os.linesep :字符串给出当前平台使用的行终止符。例如,Windows使用 ‘\r\n’,Linux使用 ‘\n’ 而Mac使用 ‘\r’
os.path.split(path) 函数:返回一个路径的目录名和文件名
os.path.isfile() 和os.path.isdir()函数:分别检验给出的路径是一个文件还是目录
os.path.exists() :函数用来检验给出的路径是否真地存在
os.curdir :返回当前目录 (‘.’)
os.mkdir(path) :创建一个目录
os.makedirs(path) :递归的创建目录
os.chdir(dirname) :改变工作目录到dirname
os.path.getsize(name) :获得文件大小,如果name是目录返回0L
os.path.abspath(name) :获得绝对路径
os.path.normpath(path) :规范path字符串形式
os.path.splitext() :分离文件名与扩展名
os.path.join(path,name) :连接目录与文件名或目录
os.path.basename(path) :返回文件名
os.path.dirname(path) :返回文件路径
os.walk(top,topdown=True,onerror=None) :遍历迭代目录

os.rename(src, dst) : 重命名file或者directory src到dst 如果dst是一个存在的directory, 将抛出OSError. 在Unix, 如果dst在存且是一个file, 如果用户有权限的话,它将被安静的替换. 操作将会失败在某些Unix 中如果src和dst在不同的文件系统中. 如果成功, 这命名操作将会是一个原子操作 (这是POSIX 需要). 在 Windows上, 如果dst已经存在, 将抛出OSError,即使它是一个文件. 在unix,Windows中有效。

os.renames(old, new) 递归重命名文件夹或者文件。像rename()

os.state():获取文件属性
os.remove(“file”):删除文件
os.rmdir(“dir”)只能删除空目录
os.chdir(“path”) 变换路径

文件操作:
os.mknod(“test.txt”) 创建空文件
fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件

关于open 模式:

w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )

os.scandir(path=’.’):遍历目录

with os.scandir(path) as it:    for entry in it:        if not entry.name.startswith('.') and entry.is_file():            print(entry.name)

os.walke():遍历文件
语法
walk()方法语法格式如下:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
参数
top – 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。
topdown –可选,为True或者没有指定, 一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。
onerror – 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
followlinks – 设置为 true,则通过软链接访问目录。

import osfor root, dirs, files in os.walk(".", topdown=False):    for name in files:        print(os.path.join(root, name))    for name in dirs:        print(os.path.join(root, name))
0 0