下面我来详细讲解一下“Python打包压缩、读取指定目录下的指定类型文件”的完整攻略。
打包压缩
Python中有很多打包压缩的库,比如zipfile、tarfile和shutil等,这里以zipfile为例进行讲解。
首先,我们需要导入zipfile库:
import zipfile
接着,我们可以使用ZipFile的实例对象进行打包压缩操作。以下是一个示例代码,可以将目录下所有.py文件打包为一个名为“python_files.zip”的压缩包:
import zipfile
import os
# 压缩文件夹路径
dir_path = r"/path/to/dir"
# 压缩后的文件路径
zip_file_path = r"/path/to/zip"
# 打开一个zip文件并设置压缩参数
zip_file = zipfile.ZipFile(zip_file_path, 'w', zipfile.ZIP_DEFLATED)
# 遍历文件夹中所有文件,将.py文件添加到zip文件中
for root, dirs, files in os.walk(dir_path):
for file in files:
if file.endswith('.py'):
file_path = os.path.join(root, file)
zip_file.write(file_path, file)
# 关闭zip文件
zip_file.close()
以上代码首先定义了需要压缩的目录的路径和压缩后的文件路径,然后使用ZipFile实例对象创建了一个新的zip文件,并设置压缩参数为“ZIP_DEFLATED”(表示压缩算法为“deflate”)。
接着,使用os.walk方法遍历了所需压缩的目录中所有的文件,判断是否为.py文件,然后将其添加到zip文件中。
最后,使用zip_file.close()方法关闭zip文件。
读取指定目录下的指定类型文件
Python中使用os模块的方法可以轻松实现读取指定目录下的指定类型文件。
以下是一个示例代码,可以读取目录下所有.jpg文件并输出其文件名:
import os
# 目录路径
dir_path = r"/path/to/dir"
# 遍历目录中所有文件
for root, dirs, files in os.walk(dir_path):
for file in files:
# 判断文件类型是否为.jpg
if file.endswith('.jpg'):
# 输出文件名
print(os.path.join(root, file))
以上代码首先定义了需要遍历的目录的路径,然后使用os.walk方法遍历了该目录下所有的文件。
在循环中,判断文件类型是否为.jpg,然后使用os.path.join方法将文件的路径与文件名拼接,输出其完整路径。
另一个示例代码,可以读取目录下所有.md文件,并返回这些文件路径的列表:
import os
# 目录路径
dir_path = r"/path/to/dir"
# 用于保存.md文件路径的列表
md_file_list = []
# 遍历目录中所有文件
for root, dirs, files in os.walk(dir_path):
for file in files:
# 判断文件类型是否为.md
if file.endswith('.md'):
# 将文件路径添加到列表中
md_file_list.append(os.path.join(root, file))
# 输出所有.md文件的路径
print(md_file_list)
以上代码与前一个示例类似,不同之处在于运用了一个列表来保存所有.md文件的路径。在循环中,判断文件类型是否为.md,然后使用append方法将其路径添加到md_file_list中。最后输出所有.md文件的路径。
总的来说,读取指定目录下的指定类型文件操作比较简单,加上os模块的文件操作函数,可以轻松实现读取不同类型的文件,完成不同的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python打包压缩、读取指定目录下的指定类型文件 - Python技术站