在Python开发中,我们经常需要对文件和目录进行操作。Python标准库中提供了很多处理文件和目录的模块,其中import shutil是其中的一个常用模块。
一、复制文件和目录
import shutil
# 复制文件
shutil.copy("source_file_path", "target_file_path")
# 复制目录
shutil.copytree("source_dir_path", "target_dir_path")
使用shutil.copy()方法,可以将一个文件从源路径复制到目标路径。使用shutil.copytree()方法,可以复制整个目录(包括目录内的所有文件和子目录)。如果目标路径已存在,会抛出异常。
复制文件和目录实例:
import shutil
# 复制文件
shutil.copy("test.txt", "test_copy.txt")
# 复制目录
shutil.copytree("test_dir", "test_dir_copy")
二、移动文件和目录
import shutil
# 移动文件
shutil.move("source_file_path", "target_file_path")
# 移动目录
shutil.move("source_dir_path", "target_dir_path")
使用shutil.move()方法,可以将一个文件或目录从源路径移动到目标路径。
移动文件和目录实例:
import shutil
# 移动文件
shutil.move("test.txt", "test_dir/test.txt")
# 移动目录
shutil.move("test_dir", "test_move_dir")
三、删除文件和目录
import os
import shutil
# 删除文件
os.remove("file_path")
# 删除空目录
os.rmdir("dir_path")
# 删除目录(包括目录内的所有文件和子目录)
shutil.rmtree("dir_path")
使用os.remove()方法,可以删除一个文件。使用os.rmdir()方法,可以删除一个空目录。使用shutil.rmtree()方法,可以删除整个目录(包括目录内的所有文件和子目录)。
删除文件和目录实例:
import os
import shutil
# 删除文件
os.remove("test_copy.txt")
# 删除空目录
os.rmdir("test_dir_copy")
# 删除目录(包括目录内的所有文件和子目录)
shutil.rmtree("test_move_dir")
四、其他常用方法
在使用import shutil模块时,还可以使用一些其他的常用方法。
1. 压缩文件和目录
import shutil
# 压缩文件
shutil.make_archive("archive_name", "format", "root_dir")
# 压缩目录
shutil.make_archive("archive_name", "format", "root_dir")
# format可选参数:zip, tar, gztar, bztar, xztar
使用shutil.make_archive()方法,可以将指定的文件或目录压缩到指定的压缩文件中。
文件和目录压缩实例:
import shutil
# 压缩文件
shutil.make_archive("test_archive", "zip", ".", "test.txt")
# 压缩目录
shutil.make_archive("test_dir_archive", "zip", ".", "test_dir")
2. 解压缩文件和目录
import shutil
# 解压缩
shutil.unpack_archive("archive_name", "extract_dir", "format")
# format可选参数:zip, tar, gztar, bztar, xztar
使用shutil.unpack_archive()方法,可以将指定的压缩文件解压缩到指定的解压缩目录中。
文件和目录解压实例:
import shutil
# 解压缩文件
shutil.unpack_archive("test_archive.zip", ".", "zip")
# 解压缩目录
shutil.unpack_archive("test_dir_archive.zip", ".", "zip")
3. 修改文件和目录的权限
import os
import stat
# 修改文件权限
os.chmod("file_path", stat.S_IRWXU)
# 修改目录权限
os.chmod("dir_path", stat.S_IRWXU)
使用os.chmod()方法,可以修改指定的文件或目录的权限。
修改文件和目录权限实例:
import os
import stat
# 修改文件权限
os.chmod("test.txt", stat.S_IRWXU)
# 修改目录权限
os.chmod("test_dir", stat.S_IRWXU)
4. 获取文件和目录的元信息
import os
import shutil
# 获取文件元信息
print(os.stat("file_path"))
# 获取目录元信息
print(shutil.disk_usage("dir_path"))
使用os.stat()方法,可以获取指定文件的元信息。使用shutil.disk_usage()方法,可以获取指定目录的元信息(包括总空间、已用空间、可用空间)。
获取文件和目录元信息实例:
import os
import shutil
# 获取文件元信息
print(os.stat("test.txt"))
# 获取目录元信息
print(shutil.disk_usage("."))
总结
通过以上详细的介绍,相信大家对import shutil模块在文件和目录操作方面的处理方式有了更深入和全面的了解。在实际开发过程中,可以通过适当运用该模块中的方法,提高文件和目录操作的效率和质量。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/180412.html
微信扫一扫
支付宝扫一扫