我试图了解如何使用 os.system 模块来执行 7zip 命令。现在我不想用 Popen 或子进程使事情复杂化。我已经安装了 7zip 并将 7zip.exe 复制到我的用户文件夹中。我只想解压缩我的测试文件 install.zip。但是,使用下面的代码会导致 shell 在退出之前短暂出现并且没有解压缩。请你能告诉我为什么吗?

def main():
    try:

         os.system(r"C:\Users\Oulton\ 7z e C:\Users\Oulton\install.zip")
    except:
            time.sleep(3)
            traceback.print_exc

if __name__ == "__main__":
    main()

非常感谢

最佳答案

以下行有几个问题:

os.system("C:\Users\Oulton\ 7z e C:\Users\Oulton\install.zip  ")

由于您的字符串包含反斜杠,您应该使用 raw string :
os.system(r"C:\Users\Oulton\7z -e C:\Users\Oulton\install.zip")

(注意第一个双引号之前的 r。)

我还删除了多余的空格。第一个(在 7z 之前)肯定有问题。

另请注意,traceback.print_exc 不会调用该函数。您需要添加括号: traceback.print_exc()

最后,建议在新代码中 subprocess 模块是 used in preference to os.system()

关于python - 如何从python脚本执行7zip命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9128169/

10-12 18:34