下载的zip文件中有0个字节

时间:2019-07-02 06:31:14

标签: linux python-3.x zip unzip

我一直在尝试通过使用os.system()和调制解调器(网络连接不良)通过curl命令以编程方式下载几个zip文件,并接收内部0字节的文件。

每次成功下载后,我总是使用'​​zip -T'命令验证zip文件,但是在解压缩之后,有些文件的字节数为0。下面是我的代码:

os.system("curl -sL --output 'master.zip' https://github.com/xxx/project/archive/master.zip")
verify = os.popen("zip -T master.zip").read()
if "OK" in verify:
  os.system("unzip -o master.zip")

反正有没有验证这种情况不会发生?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您希望避免提取包含一些空文件的存档文件,对吗?

如果是这种情况,那么我建议您使用 unzip -l <​​/ em> 来详细说明归档文件包含的文件。例如:

$ unzip -l test.zip
Archive:  test.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2019-07-02 18:02   test/
        0  2019-07-02 18:00   test/empty
       16  2019-07-02 18:01   test/something
---------                     -------
       16                     3 files

此命令的确也列出了所有文件的长度,并且从python开始,只需几行代码即可解析并确定档案中是否有空文件。请注意,根据解压缩,目录的大小也为0,这也可以在示例中看到。