PDA

Tam Sürümünü Görmek İçin : 'module' object has no attribute 'Popen3' hatasını veriyor.


ortug
07/07/2005, 11:22
Aşağıdaki adresteki 'Example 16.4. Running a program (3)' başlığı altındaki kodu telnet bağlantısı kurmak için denedim. Hata verince aşağıdaki kodu aynen kopyala yapıştır yaptığımda da aynı hatayı verdi. İşletim sistemin win xp.
child = popen2.Popen3(cmd) satırı için
'module' object has no attribute 'Popen3' hatasını veriyor.

python'da acemiyim. Yardımcı olursanız sevinirim


http://www.pasteur.fr/formation/infobio/python/ch16s02.html


import popen2
import os.path

cmd = "dnapars"

if os.path.exists('treefile'):
os.unlink('treefile')
if os.path.exists('outfile'):
os.unlink('outfile')

child = popen2.Popen3(cmd)
print "PID: ", child.pid
child.tochild.write("y\n")
child.tochild.close()
child.wait()
print "".join(child.fromchild.readlines())
status = child.fromchild.close()
if status is not None:
print "status: ", status


acemi
07/07/2005, 11:52
Bu kodu GNU/Linux yüklü makinede denedim, sorunsuz çalıştı. Senin sorunun ile ilgili bir-iki kaynağa baktım, sorunun Windows kullanmandan kaynaklandığını anladım.

Popen3 içinde UNIX/Linux'a özgü olan poll() / wait() komutları kullanılıyormuş, bu nedenle Windows makinede Popen3 çalışmıyor. O nedenle de Popen3'ü popen2 modülünün Windows sürümüne koymamışlar.

Aldığın hata mesajının anlamı, "popen2 adlı modül nesnesinin Popen3 adlı bir özelliği yok"

ortug
07/07/2005, 16:43
teşekkürler
sayfanın başında windows'da ve unix'de kullanılabildiğini söyleyince ara satırları okumamıştım. Ama nesneler sadece unix'de kullanılabiliyomuş
http://www.python.org/doc/2.0.1/lib/module-popen2.html