我试图通过popen
(from platform import popen
)解压缩tar文件并遇到问题。如果我使用交互式脚本,该命令将运行,但如果我将其放在.py文件中并运行它,则不会运行。
基本上,我切换到该目录并运行popen("tar xvf the_tar.tar")
为什么这些会有所不同?怎么不在脚本中运行?交互式会话和脚本之间的代码相同!
编辑:
确切的脚本如下
import os, time
from platform import popen
os.chdir("C:/testing/")
popen("tar -xvf the_tar.tar")
答案 0 :(得分:5)
您应该使用tarfile
库:
from tarfile import TarFile
tar = TarFile("the_tar.tar")
tar.extractall()
答案 1 :(得分:0)
根据您的信息,我看不到您看到的问题。可能更多的背景。即请不要使用确切的脚本。
我构建了一个带有空文本文件的示例tar存档。 然后我在这个文件夹中输入了两行python脚本:
from platform import popen
popen("tar xvf the_tar.tar")
当我跑步时,它给了我:
x sample.txt
正如所料。
该错误必须在您的脚本中发生。与问题中现在显示的脚本一样
当我将os.chdir()
参数更改为适合我"./"
的参数时,这也可以在我的Mac上运行。
你能在你的机器上测试它被修改为os.chdir("./")
吗(我猜的是Windows)?