我正在创建Python软件,用于压缩文件/文件夹... 我该如何编写代码部分以要求用户输入文件夹位置并将其压缩?我目前已经有了单个文件的代码,但没有一整个文件夹的代码。请详细解释如何完成此操作。
我正在创建Python软件,用于压缩文件/文件夹... 我该如何编写代码部分以要求用户输入文件夹位置并将其压缩?我目前已经有了单个文件的代码,但没有一整个文件夹的代码。请详细解释如何完成此操作。
压缩文件夹成 tar 文件的代码如下:
import tarfile
tar = tarfile.open("TarName.tar.gz", "w:gz")
tar.add("folder/location", arcname="TarName")
tar.close()
这对我有效,希望对您也有用。
我不做界面设计,所以你需要自己让用户输入文件夹名称。这里提供一种压缩并打包成tar.gz文件的方法。它不会递归子文件夹,如果需要请使用os.walk()。
# assume the path to the folder to compress is in 'folder_path'
import tarfile
import os
with tarfile.open( folder_path + ".tgz", "w:gz" ) as tar:
for name in os.listdir( folder_path ):
tar.add(name)
tar.add(folder_path)
,它将被递归添加。(当然,这可能是自此答案发布以来新增的新功能!)此外,除非您将tar = tarfile.open(...)
更改为with tarfile.open(...)as tar:
(这是个好主意),否则for循环不应在此处缩进,然后您可以摆脱tar.close()
行。 - Jim Oldfieldtar.add(os.path.join(folder_path, name))
吗? - rer