【问题标题】:Python: system commandPython:系统命令
【发布时间】:2013-08-14 08:27:25
【问题描述】:

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

我要运行Windows系统命令:

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

所以:

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

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

The archive is either in unknown format or damaged

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

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

【问题讨论】:

    标签: python windows command system os.system


    【解决方案1】:

    你试过用shutil吗?

    import shutil
    shutil.copy(src, dst)
    

    【讨论】:

      【解决方案2】:

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

      import subprocess
      subprocess.call(["copy", "/b", '"imgFile.jpg" + "zipFile.zip"', "newImage.jpg"])
      

      【讨论】:

        猜你喜欢
        • 2014-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2013-06-26
        • 2011-11-19
        • 2011-12-21
        • 1970-01-01
        相关资源
        最近更新 更多