操作文件和目录
为文件和目的操作经常用到os模块和shutil模块。
常用方法:
- 获取当前脚本工作的目录路径:os.getcwd(),返回的是str类型。
- 返回指定目录下的所有文件和目录名:os.listdir()。例如:os.listdir('c:\')。
- 删除一个文件:os.remove(filepath)。
- 删除多个空目录:os.removedirs(r'c:\1234')。函数是按着整个路径一层一层删除目录;如果其中一层非空目录停止删除。
- 检验路径是否是一个文件(文件是否存在):os.path.isfile(filepath)。
- 检验路径是否是一个目录(目录是否存在):os.path.isdir(filepath)。
- 判断是否是绝对路径:os.path.isabs()。
- 检查路劲是否真的存在:os.path.exists()。
- 分离一个路径的目录名和文件名:os.path.split()。
- 分离扩展名:os.path.splitext()。例如:os.path.splitext(r'c:1123.txt') 结果('c:1123','txt')
- 获取路径名:os.path.dirname()。
- 获取文件名:os.path.basename()。
- 读取和设置环境变量:os.getenv()与os.putenv()。
- 获取当前平台使用的行终止符:os.linesep()。
- 获取平台名:os.name。
- 重命名文件或目录:os.rename(old,new)。
- 创建多级目录:os.makedirs()。
- 创建单个目录:os.mkdir()。
- 获取文件属性:os.stat()。
- 修改文件权限与时间戳:os.chmod()。
- 获取文件大小:os.path.getsize()。
- 复制文件夹:shutil.copytree(olddir,newdir)。参数是目录,且新目录不存在。
- 复制文件:shutil.copyfile(oldfile,newfile)。oldfile、newfile只能是文件。
- 复制文件:shutil.copy(oldfile,newfile).oldfile只能是文件,newfile可以是文件或目录。
- 移动文件(目录):shutil.move(oldfile,newfile)。
- 删除目录:os.rmdir()。只能删除空目录。
- 删除目录:shutil.rmtree()。删除指定目录。