OS模块
python内置的 os
模块可以实现对文件本身的操作, 即文件的复制移动删除等, 在使用 os
模块之前需要先导入模块:
python的 os
模块中的方法很多, 在菜鸟教程上都已经列出来了:
但是常用的一般有这些:
os.getcwd()
相当于linux命令的
pwd
os.getcwd()
方法用于获取当前脚本的工作目录, 返回值是当前的工作目录
这段代码尝试获取文件当前的工作目录并将其打印出来
os.listdir(path)
相当于linux命令的
ls
使用 os.listdir(path)
方法可以列出指定目录下的所有文件, 并返回一个包含所有文件名和文件夹名的列表, 参数 path
就是指定目录的路径
指定目录的路径可以是绝对路径也可以是相对路径
os.mkdir(path, [mode])
相当于linux命令的
mkdir
使用 os.mkdir(path, [mode])
方法可以创建一个目录, 其中参数 path
就是需要创建的目录路径, 参数 mode
是可选的, 代表这个目录的权限, 默认是 0777
path
可以使用相对路径, 也可以使用绝对路径
这段代码尝试在D盘根目录下创建一个权限为 0755
的目录
os.remove(path)
相当于linux命令的
rm
使用 os.remove(path)
方法可以删除指定目录下的特定文件, 其中参数 path
就是需要删除的文件路径
path
可以使用相对路径, 也可以使用绝对路径
这段代码尝试删除D盘根目录下的文件 test.txt
os.rmdir(path)
相当于linux命令的
rmdir
, 只能用于删除空目录
使用 os.rmdir(path)
可以删除指定的空目录, 其中参数 path
就是需要删除的空目录的路径, 如果目录非空就会报错
这段代码尝试删除刚刚新建的一个空目录 mydir
os.removedirs(path)
相当于linux命令的
rm -r
使用 os.removedirs(path)
方法可以递归删除指定目录, 包括其目录下的所有子目录以及文件, 其中参数 path
就是需要整个删除的目录
这段代码尝试删除D盘根目录下 mydir
中的所有内容, 包括这个目录本身(无论其中是否有文件)
os.rename(src, dst)
相当于linux命令的
mv -n
使用 os.rename(src, dst)
方法可以重命名文件或目录, 不会覆盖文件, 其中参数 src
是源文件的路径, 参数 dst
是目标路径
这段代码尝试把当前目录下的 test1.txt
重命名为 test2.txt
os.replace(src, dst)
相当于linux命令的
mv
os.replace(src, dst)
的用法和 os.rename(src, dst)
用法相同, 唯一的区别是如果目标路径下已经有一个同名的目标文件, 会被直接覆盖(毕竟叫replace
)