gpt4 book ai didi

Python:创建目录中以 ".json"结尾的所有文件的 zip 文件

转载 作者:行者123 更新时间:2023-11-30 22:57:18 25 4
gpt4 key购买 nike

假设目录是/Home/Documents/Test_files。

我想创建一个包含所有以“.json”结尾的文件的 zip 文件,如果可能的话,删除这些文件,以便只留下 zip 文件

到目前为止,我已经能够创建给定路径中所有文件的 zip 文件,但是当我使用 zipf.write(file) 行时,它会抛出错误“[Errno 2]没有这样的文件或目录:sample.json”。但是,当我使用 zipf.write(os.path.join(root, file)) 时,它确实会写入文件,但也会写入我不想要的整个目录路径。

我只想自己编写文件。当我使用打印文件时,似乎打印了正确的文件,所以我不知道为什么会收到文件不存在的错误

目前我的代码如下所示:

def create_zip(path,zipf):
#path is the directory address (i.e. /Home/Documents/Test_files)
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".json"):
print file
zipf.write(os.path.join(root, file))
#zipf.write(file)

我还想在创建 zip 文件后删除/删除这些文件以节省空间。

任何有关为什么会发生这种情况的帮助将不胜感激!

最佳答案

您可以在将其添加到 zip 文件之前 chdir 不包含整个目录路径,然后使用 os.remove 删除文件:

def create_zip(path,zipf):
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".json"):
chdir(root)
zipf.write(file)
os.remove(file)

关于Python:创建目录中以 ".json"结尾的所有文件的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com