【发布时间】:2015-10-12 10:33:18
【问题描述】:
我在这段代码中缺少什么(#而不是代码中的注释行)将 test.py 文件存档在 zip 文件夹中?
#!/usr/bin/python
import zipfile,os
path='/home/user/Desktop'
def zipdir(path, zipf):
for file in os.walk(path):
#zipf.write(os.path.join(root,path))
if __name__ == "__main__":
zipf = zipfile.ZipFile('test.zip', 'w')
zipdir(path, zipf)
zipf.close()
【问题讨论】:
-
@user1514631 为什么在这个问题中写根而不是路径,在里面 os.path.join ?你能解释一下这部分吗?
-
os.walk(path) 返回一个元组列表,该元组的第一个元素是当前目录(有些人称之为 root,并且随着 os.walk 下降到目录中而改变),通过将当前根与当前文件名连接,您将获得当前文件的完整路径名。链接答案中的“变量”路径是 os.walk 开始的起始目录。为了更好地理解,只需在您的 zipdir 函数中打印根目录、目录和文件,这样您一定会看到发生了什么。