Python subprocess 帮助

9 投票
1 回答
8059 浏览
提问于 2025-04-16 00:24

我在测试Python的子进程功能,但总是遇到这个错误:

$ python subprocess-test.py 
Traceback (most recent call last):
  File "subprocess-test.py", line 3, in <module>
    p = subprocess.Popen(['rsync', '-azP', 'rsync://cdimage.ubuntu.com/cdimage/daily-live/current/maverick-desktop-amd64.iso', '/home/roaksoax/Desktop/iso'], stdout=subprocess.PIPE)
AttributeError: 'module' object has no attribute 'Popen'

我的脚本是:

import subprocess
p = subprocess.Popen(['rsync', '-azP', 'rsync://cdimage.ubuntu.com/cdimage/daily-live/current/maverick-desktop-amd64.iso', '/home/testing/maverick.iso'], stdout=subprocess.PIPE)

你们知道可能发生了什么吗?

1 个回答

27

大胆猜测一下:你可能有一个自己的文件叫做subprocess.py,这个文件覆盖了标准库中的模块。

你运行这个代码会看到什么呢?:

import subprocess
print subprocess.__file__

这个代码会告诉你,实际上导入的是哪个文件作为subprocess

撰写回答