点击跳转
《Python入门系列目录》
文章目录
1. os模块
- Python标准库中的一个用于访问操作系统的模块
- 包含普遍的操作系统功能
- 提供一个可移植的方法来使用操作系统的功能,使得程序能够跨平台使用
- 查询操作系统
- os.name函数
- 获取操作系统名称
- os.sep函数
- 查询相应操作系统下文件路径的分隔符
- os.linesep函数
- 查询当前系统使用的行终止符
- os.name函数
- 查询工作路径
- os.getcwd()
- 查询指定目录下的文件
- os.listdir()
- 查询指定目录下的所有文件和文件名
- os.listdir()
- 删除文件
- os.remove()
- 移除指定文件
- os.mkdir()
- 创建目录
- os.rmdir()
- 删除指定路径的文件夹,但这个文件夹必须是空的,不包含任何文件或子文件夹
- os.remove()
- 对文件路径的操作
- 含有很多os.path相关函数,提供了相应的对文件路径的操作
函数 | 功能 |
---|---|
os.path.abspath(path) | 返回绝对路径 |
os.path.basename(path) | 返回文件名 |
os.path.dirname(path) | 返回文件路径 |
os.path.exists(path) | 路径存在则返回True,路径损坏返回False |
os.path.isfile(path) | 判断路径是否为文件 |
os.path.isdir(path) | 判断路径是否为目录 |
2. shutil模块
-
Python自带的关于文件、文件夹、压缩文件的高层次的操作工具
-
能够移动文件夹、压缩文件夹、删除文件夹等,但不能创建文件夹
-
对os模块的补充
-
移动文件或文件夹
-
shutil.move()
- 将指定的文件或文件夹移动到目标路径下,返回值是移动后的文件绝对路径字符串。(把第一个参数移到第二个参数)
import shutil str = shutil.move('/Users/csjjli/Desktop/python/chapter6/data.txt', '/Users/csjjli/Desktop/python/chapter6/text_file') print(str)
- 如果目标路径指向的文件夹中已经存在了同名文件,那么该文件将被重写
- 如果目标路径指向一个具体的文件,那么指定的文件在移动后将被重命名
import shutil str = shutil.move('/Users/csjjli/Desktop/python/chapter6/words.txt', '/Users/csjjli/Desktop/python/chapter6/text_file/e_2.txt') print(str)
-
-
复制文件
-
shutil.copyfile(src, dst)
- 从src文件复制内容到dst文件
- dst必须是完整的目标文件名
- 返回值是复制后到文件绝对路径字符串
-
shutil.copy(src, dst)
- 可以复制文件src到文件或目录dst
import shutil shutil.copy('/Users/csjjli/Desktop/python/chapter6/tt.py', '/Users/csjjli/Desktop/python/chapter6/text_file/')
-
-
复制目录
-
shutil.copytree()
- 用于目录复制,返回复制后到目录路径
-
目标目录必须不存在,不能已有
import shutil shutil.copytree('/Users/csjjli/Desktop/python/chapter6', '/Users/csjjli/Desktop/text_file')
-
-
永久删除文件和文件夹
-
shutil.rmtree()
- 可以删除指定路径的文件夹,并且这个文件夹里面的所有文件和文件夹都会被删除
import shutil shutil.rmtree('/Users/csjjli/Desktop/text_file')
-
-
压缩与解压文件
- shutil.make_archive()
- shutil.unpack_archive()
import shutil shutil.make_archive('/Users/csjjli/Desktop/test', 'zip', root_dir='/Users/csjjli/Desktop/text_f')
import shutil shutil.unpack_archive('/Users/csjjli/Desktop/test.zip', '/Users/csjjli/Desktop/test')