解压缩python,交互式vs脚本调用

时间:2011-07-25 18:02:11

标签: python

我试图通过popenfrom 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")

2 个答案:

答案 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)?