Python文件和目录操作总结:
1. Python 中os模块基本命令
头文件
import os # 提供对操作系统进行调用的接口
os常用指令
1 os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径 === linux: pwd
2 os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd
3 os.curdir # 返回当前目录: (‘.‘)
4 os.pardir # 获取当前目录的父目录字符串名:(‘..‘)
5 os.makedirs(‘dirname1/dirname2‘) # 可生成多层递归目录
6 os.removedirs(‘dirname1‘) # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
7 os.mkdir(‘dirname‘) # 生成单级目录;相当于shell中mkdir dirname
8 os.rmdir(‘dirname‘) # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9 os.listdir(‘dirname‘) # 列出制定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10 os.remove(‘filename‘) # 删除一个文件
11 os.rename(‘oldname‘ , ‘newname‘) # 重命名一个文件
os.path 常用操作指令
1 os.path.abspath(path) #返回绝对路径
2 os.path.basename(path) #返回文件名
3 os.path.dirname(path) #返回文件路径
4 os.path.exists(path) #路径存在则返回True,路径损坏返回False
5 os.path.getatime(path) #返回文件最近访问时间。
6 os.path.getmtime(path) #返回在文件最新修改的时间。
7 os.path.getctime(path) #输出文件创建的时间
8 os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误
9 os.path.isabs(path) #判断是否为绝对路径
10 os.path.isfile(path) #判断路径是否为文件
11 os.path.isdir(path) #判断路径是否为目录
12 os.path.join(path1, path2) #把目录path1和文件名path2合成一个路径
13 os.path.normcase(path) #转换path的大小写和斜杠
14 os.path.normpath(path) #规范path字符串形式
15 os.path.realpath(path) #返回path的真实路径
16 os.path.relpath(path, start) #从start开始计算相对路径
17 os.path.samefile(path1, path2) #判断目录或文件是否相同
18 os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
19 os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
20 os.path.split(path) #把路径分割成dirname和basename,返回一个元组
21 os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
22 os.path.splitext(path) #分割路径,返回(路径名+文件扩展名前的名称)和(文件扩展名)的元组
23 os.path.splitunc(path) #把路径分割为加载点与文件
24 os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
25 os.path.supports_unicode_filenames #设置是否支持unicode路径名
2. Python 中shutil模块基本命令
头文件
import shutil
shutil常用指令
1 shutil.copyfileonj(fsrc, fdst, length=16*1024) #拷贝文件内容到另一个文件,可以拷贝指定大小的内容,需要打开文件后才能拷贝
2 shutil.copyfile(src,dst) # 拷贝文件内容,不需要打开文件
3 shutil.copymode(src,dst) #仅拷贝权限,不更改文件内容,组和用户。
4 shutil.move(src, dst) # 递归的去移动文件
5 shutil.copytree(src, dst, symlinks=False, ignore=None) # 递归的去拷贝文件,目录;
6 shutil.rmtree(path[, ignore_errors[, onerror]]) # 递归的去删除文件,目录;
参考文献: