2010-06-24 66 views
8

我測試蟒子,我不斷收到此錯誤: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) 

你們是否知道可能會發生什麼?

+0

您使用的是哪個版本的Python? – 2010-06-24 20:22:13

+0

從2.4開始,子進程在python中,如果使用較舊版本的python,那麼在導入語句期間應該已經發生該錯誤。 – 2010-06-24 20:32:26

+0

@Fabian:這是真的,但在任何情況下,在問題中指定是件好事。 – 2010-06-24 20:39:00

回答

27

瘋狂猜測:你有你自己的名爲subprocess.py的文件,它掩蓋了標準庫模塊。

你這個看什麼?:

import subprocess 
print subprocess.__file__ 

這將顯示正在導入爲subprocess哪些文件。

+0

這確實是個問題!謝謝!! – user175259 2010-06-24 20:39:42

+5

btdt。痛苦... – 2010-06-24 20:51:00