我花了几个小时写一个小脚本。 基本上它的作用是创建一个新的文本文件并用任何东西填充它。 我压缩文本文件 - 使用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
只有在脚本中运行系统命令时才会发生这种情况。 我使用shell时工作正常。如果我使用单独的脚本,它甚至可以工作。
我已经仔细检查了我的zip文件。一切都很好。 有什么我做错了吗?我没有看到的东西?
答案 0 :(得分:1)
您是否尝试过使用shutil?
import shutil
shutil.copy(src, dst)
答案 1 :(得分:0)
Python将参数传递给shell命令的方式可能存在问题。尝试使用subprocess.call。此方法将参数作为数组并将其传递给命令:
import subprocess
subprocess.call(["copy", "/b", '"imgFile.jpg" + "zipFile.zip"', "newImage.jpg"])