shutil模块
文章目录
-
- shutil模块
-
- 1. `shutil.copy(src, dst)` - 复制文件或目录
- 2. `shutil.copy2(src, dst)` - 复制文件或目录,同时保留源文件的元数据
- 3. `shutil.copytree(src, dst)` - 递归复制整个目录树
- 4. `shutil.move(src, dst)` - 移动文件或目录,也可用于重命名文件或目录
- 5. `shutil.rmtree(path)` - 递归删除整个目录树
- 6. `shutil.make_archive(base_name, format, root_dir)` - 创建压缩文件或归档文件
- 7. `shutil.unpack_archive(filename, extract_dir)` - 解压缩文件或归档文件到指定目录
- 8. `shutil.disk_usage(path)` - 获取磁盘空间使用情况
- 9. `shutil.chown(path, user=None, group=None)` - 更改文件或目录的所有者和组
- 10. `shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None)` - 在系统路径中查找可执行程序
序号 |
函数或方法 |
描述 |
1 |
shutil.copy(src, dst) |
复制文件或目录 |
2 |
shutil.copy2(src, dst) |
复制文件或目录,同时保留源文件的元数据(如时间戳) |
3 |
shutil.copytree(src, dst) |
递归复制整个目录树 |
4 |
shutil.move(src, dst) |
移动文件或目录,也可用于重命名文件或目录 |
5 |
shutil.rmtree(path) |
递归删除整个目录树 |
6 |
shutil.make_archive(base_name, format, root_dir) |
创建压缩文件或归档文件 |
7 |
shutil.unpack_archive(filename, extract_dir) |
解压缩文件或归档文件到指定目录 |
8 |
shutil.disk_usage(path) |
获取磁盘空间使用情况 |
9 |
shutil.chown(path, user=None, group=None) |
更改文件或目录的所有者和组 |
10 |
shutil.which(cmd, mode=os.F_OK) |
os.X_OK, path=None)` |
1. shutil.copy(src, dst)
- 复制文件或目录
import shutil
src = 'path/to/source/file.txt'
dst = 'path/to/destination/file.txt'
shutil.copy(src, dst)
2. shutil.copy2(src, dst)
- 复制文件或目录,同时保留源文件的元数据
import shutil
src = 'path/to/source/file.txt'
dst = 'path/to/destination/file.txt'
shutil.copy2(src, dst)
3. shutil.copytree(src, dst)
- 递归复制整个目录树
import shutil
src = 'path/to/source/directory'
dst = 'path/to/destination/directory'
shutil.copytree(src, dst)
4. shutil.move(src, dst)
- 移动文件或目录,也可用于重命名文件或目录
import shutil
src = 'path/to/source/file.txt'
dst = 'path/to/destination/new_file.txt'
shutil.move(src, dst)
5. shutil.rmtree(path)
- 递归删除整个目录树
import shutil
path = 'path/to/directory'
shutil.rmtree(path)
6. shutil.make_archive(base_name, format, root_dir)
- 创建压缩文件或归档文件
import shutil
base_name = 'path/to/archive'
format = 'zip'
root_dir = 'path/to/directory'
shutil.make_archive(base_name, format, root_dir)
7. shutil.unpack_archive(filename, extract_dir)
- 解压缩文件或归档文件到指定目录
import shutil
filename = 'path/to/archive.zip'
extract_dir = 'path/to/destination'
shutil.unpack_archive(filename, extract_dir)
8. shutil.disk_usage(path)
- 获取磁盘空间使用情况
import shutil
path = 'path/to/directory'
usage = shutil.disk_usage(path)
print(f"Total: {usage.total} bytes")
print(f"Used: {usage.used} bytes")
print(f"Free: {usage.free} bytes")
9. shutil.chown(path, user=None, group=None)
- 更改文件或目录的所有者和组
import shutil
path = 'path/to/file.txt'
user = 'new_user'
group = 'new_group'
shutil.chown(path, user=user, group=group)
10. shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None)
- 在系统路径中查找可执行程序
import shutil
cmd = 'python'
path = shutil.which(cmd)
if path is not None:
print(f"Found '{cmd}' at: {path}")
else:
print(f"'{cmd}' not found in system path.")