我希望压缩的文件都在根目录,而不是伴随文件路径的目录
时间: 2024-04-15 12:31:38 浏览: 25
明白了,下面是一个使用Python的zipfile库来压缩文件的脚本示例,将不同路径的文件打入一个zip文件,并且压缩文件都位于根目录:
```python
import os
import zipfile
def zip_files(output_path, *input_paths):
with zipfile.ZipFile(output_path, 'w') as zipf:
for path in input_paths:
if os.path.isfile(path):
arcname = os.path.basename(path) # 获取文件名作为压缩文件中的路径
zipf.write(path, arcname)
elif os.path.isdir(path):
for root, _, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
arcname = os.path.relpath(file_path, path) # 获取相对路径作为压缩文件中的路径
zipf.write(file_path, arcname)
# 示例用法
output_file = 'archive.zip'
input_files = ['path/to/file1', 'path/to/file2']
zip_files(output_file, *input_files)
```
以上脚本中,`zip_files` 函数接受一个输出路径和多个输入路径作为参数。它使用 `zipfile.ZipFile` 创建一个新的 zip 文件,并遍历输入路径列表。对于每个输入路径如果是文件,则将文件名作为压缩文件中的路径进行写入;如果是目录,则遍历目录下的所有文件,将相对路径(相对于输入路径)作为压缩文件中的路径进行写入。这样,在压缩文件中所有文件都位于根目录。最后生成的 zip 文件将保存在指定的输出路径上。
你可以将路径替换为你实际的文件和目录路径,并指定一个输出路径来保存压缩文件。运行这个脚本后,你将得到一个包含所有文件的 zip 文件,所有文件都位于根目录。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)