- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用下面的代码来压缩每天创建的备份文件。
import os, zipfile
zf = zipfile.ZipFile("Test.zip", "w")
for root, subdirs, files in os.walk("C:/Users/Bob/Desktop/Zip"):
for filename in files:
zf.write(os.path.join(root, filename))
zf.close()
问题是,当我打开 zip 文件时,它包含指向该文件的路径中的所有文件夹。例如,在 zip 中,我会有一个名为 Users/Bob/Desktop/Zip/File.gdb 的文件夹
但我只想要 zip 中的 File.gdb。原因是因为当它包含所有这些文件夹时,它实际上并没有压缩文件。它与不在 zipper 内时的尺寸相同。但如果我只压缩 File.gdb,它会从 30Mb 压缩到 3Mb。
感谢任何帮助。
最佳答案
你需要看看arcname
parameter of ZipFile.write
:
ZipFile.write(filename[, arcname[, compress_type]])
Write the file named
filename
to the archive, giving it the archive namearcname
(by default, this will be the same asfilename
, but without a drive letter and with leading path separators removed).
在您的情况下,您很可能想要:
zf.write(os.path.join(root, filename), filename, zipfile.ZIP_DEFLATED)
关于python - 如何只添加一个文件到 zip 而不是在 Python 中指向它的文件夹路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217685/
在我的应用程序中,我想检测手指按在屏幕上的类型。触摸类型可能是单点触摸或多点触摸。我搜索了很多,但找不到任何东西。 有什么方法可以找到类型吗? 最佳答案 不可能知道哪个手指在某个点,但您肯定可以获得每
以下代码是我一直在尝试用于多点触控的代码。手指一设置正确并在我拖动手指时四处移动。当我触摸并松开手指时,第二个手指出现并消失,但它永远不会移动。知道有什么问题吗? 我已阅读 developers bl
我是一名优秀的程序员,十分优秀!