2015-05-09 21 views
7

Aşağıdaki koddur. Çalıştığımda, "ad çıkışı tanımlanmadı" diyerek bir hata mesajı aldım. Birisi bana nedenini söyleyebilir mi? Zaman ve dikkat için çok teşekkür ederim. exit (ve argv) o modülde olduğundanad çıkışı python'da tanımlanmadı

if len(sys.argv) == 4: 
    ### do something 
    pass 
else: 
    print 
    "usage: #### something here" 
    exit(-1) 
+0

Sadece sys şunu yazın: sys import exit; import sys – felipsmartins

+3

'sys.argv' kullanıyorsunuz, bu yüzden açıkça sys' ithal ettiniz. Yani sadece sys.exit' – inspectorG4dget

+0

hızlı bir soru. Daha önce bir süper bilgisayarla çalıştırıyorum ve işe yarıyor. Ama bugün bilgisayarımda gölgelikle çalıştırıyorum, bana böyle bir hata veriyor. Nedenini bilen var mı? – study

cevap

5

Sen, ilk import sys gerekir.

Ben .kodunuz çalıştırdığınızda alıyorum hata:

File "", line 1, in NameError: name 'sys' is not defined

yaklaşık sys.argv yerine exit şikayet edildiği. Ancak her iki durumda da, çözüm - import sys aynıdır.

+0

Aslında, "sys" i bile "exit" komutu terminalde çalışıyor. Ama aynı senaryoyu Jupyter dizüstü bilgisayarından çalıştırdığımda, içe aktarmaya ihtiyacım var. Emin değilim neden? –

+0

Çalışan bir Python3 programında herhangi bir yerde çalışarak sistemden veri alıp vermemek için çıkış yapamıyorum. – rjurney

+0

Kodunuz neye benziyor? – khampson

1

sys'u içe aktardıysanız sys.exit(0) kullanın - 0 ile değiştirmek istediğiniz herhangi bir sonuç kodunu değiştirin. Ben .py dosya exit(0) dosyadan çalışırken derleme önce aynı sorun vardı ama .exe derledikten sonra bana bir hata verdi.'u sys.exit(0)'a değiştirmek zorunda kaldım ve işe yaradı.

İlgili konular