我正在使用python來自動提取歸檔文件。我使用的子這樣:使用7zip來提取.rar文件,但找不到歸檔文件
command = "7z e " + self.dir + " -o" + dest
subprocess.call(command)
其中self.dir是歸檔文件的目錄中(作爲一個.rar文件)和dest是目標文件夾。
我的問題是它隨意地工作。出於某種原因,它會提取一些檔案,但不是其他檔案。我還沒有找到一個模式,但我已閱讀命令提示符,然後當它不工作,它打印
Error:
cannot find archive
煩人,我可以使用GUI提取完全相同的存檔。我的實際程序似乎有問題。
我能做些什麼來解決這個問題?
我相信如果你使用大字符串作爲命令參數,那麼你應該做subprocess.call(args,shell = True)。如果你知道你的7z在哪裏,那就用一個參數列表來代替。 – nagylzs
@nagylzs知道7z在哪裏並不重要。如果你做''subprocess.call([「foo」,「bar」])'',子進程會爲你做必要的「foo」查找。 –