python OS模块的一些方法
python的os模块提供了许多处理文件和目录的方法,常用的方法可以在菜鸟教程中找到。
不需刻意记忆,多运用即可。
1.os.mkdir(path,mode)
创建目录,mode默认的模式为 777 ,即rwx rwx rwx,表示对文件目录的访问权限,其中开始的三个字符是文件所有者的访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所有人的访问权限。。
2.os.rmdir()
删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
3.os.listdir()
返回指定的文件夹包含的文件或文件夹的名字的列表。
4.os.getcwd()
返回当前进程的工作目录
5.os.walk(top,topdown=True,οnerrοr=None)
- top是要遍历的顶级目录;
- topdown=True时首先返回顶级目录下的文件,然后再遍历子目录中的文件。当topdown的值为"False"时,先遍历子目录中的文件,然后再返回顶级目录下的文件(自下而上)。
- onerror默认值为"None",表示忽略文件遍历时的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
- 返回值:函数返回一个三元素的元组,分别是:每次遍历的路径名、路径下子目录列表、目录下文件列表。
for rootdir,paths,files in os.walk(top_dir,topdown=False)
6.os.path模块
os.path.abspath(path)
返回绝对路径,即完整路径。
os.path.isabs(path) #判断是否是绝对路径
os.path.dirname(path)
返回当前文件或者子目录的所在的目录。
os.path.isdir(path) #判断是否是目录
os.path.basename(path)
返回文件名,如果是目录,返回空值。
os.path.exists(path)
如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.join(path1,path2…)
path1,path2都是字符串
合并为一个路径,/ 符号若没有会自动加,若已存在则不会加;
os.path.split(path)
把路径分割成 dirname 和 basename,返回一个元组。
os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
os.path.samefile(path1, path2)
判断目录或文件是否相同,即只能判断路径指向的是不是同一个文件名,无法判断这两个文件是不是一样。
os.path.walk(path, visit, arg)
遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数。
示例:
在这里插入代码片