0

我花了几个小时写一个小脚本。基本上它所做的是创建一个新的文本文件并用任何内容填充它。我压缩文本文件——使用 zipfile——这就是我的问题所在。

我想运行 Windows 系统命令:

copy /b "imgFile.jpg" + "zipFile.zip" newImage.jpg 合并图像“imgFile.jpg”和 zip“zipFile.zip”。

所以:

os.system("copy /b \"imgFile.jpg\" + \"zipFile.zip\" newImage.jpg")

当我运行我的脚本时,一切似乎都很好。但是当它完成并且我尝试提取'newImage.jpg'文件时,它给了我:

The archive is either in unknown format or damaged

这只发生在我在脚本中运行系统命令时。当我使用外壳时它工作正常。如果我使用单独的脚本,它甚至可以工作。

我已经仔细检查了我的 zip 文件。一切都很好。有什么我做错了吗?我没看到的东西?

4

2 回答 2

1

你试过用shutil吗?

import shutil
shutil.copy(src, dst)
于 2013-08-14T08:32:28.060 回答
0

Python 将参数传递给 shell 命令的方式可能存在问题。尝试使用subprocess.call。此方法将参数作为数组并将它们传递给命令:

import subprocess
subprocess.call(["copy", "/b", '"imgFile.jpg" + "zipFile.zip"', "newImage.jpg"])
于 2013-08-14T08:35:09.587 回答