文件和目录
文件和目录的操作都是由操作系统完成的,Python中的os
模块可以直接调用操作系统提供的接口函数来完成目录和文件的操作。这里需要注意的是,os
模块提供的功能是操作系统相关的,有些操作系统例如Windows会不支持Linux提供的一些功能,所以在使用之前,要注意操作系统的区别。
调用os.name()
可以获得操作系统类型,返回值为'posix'
表示系统可能为Linux或者macOS,如果返回值为'nt'
,则表示系统为Windows。
操作文件和目录的函数一部分放在os
模块中,一部分放在os.path
模块中。常用的函数有一下这些。
函数 | 功能 |
---|---|
os.path.abspath() | 返回指定目录的绝对路径 |
os.path.join() | 拼合目录,会自动根据系统选择路径分隔符 |
os.path.splittext() | 拆解目录 |
os.mkdir() | 创建目录 |
os.rmdir() | 删除目录 |
os.rename() | 文件重命名 |
os.remove() | 删除文件 |
os.listdir() | 列出目录中的内容 |
例如列出当前目录中的所有子目录,可以使用一行代码完成:[x for x in os.listdir('.') if os.path.isdir(x)]
。
Python没有直接提供复制文件的函数,如果需要对文件进行复制,只能分别打开源文件和目标文件两个句柄,然后对其中内容进行复制。操作可参考以下示例。
with open(sourceFile, "rb") as source:
with open(destinationFile, "wb") as destination:
destination.write(source.read())