2015-05-09 48 views
7

以下是代碼。 當我運行時,我收到一條錯誤消息,說「名稱出口未定義」。有誰能告訴我爲什麼?非常感謝您的時間和關注。名稱出口沒有在python中定義

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

只需導入sys,像這樣:from sys import exit; import sys – felipsmartins

+3

你正在使用'sys.argv',很明顯,你已經導入了'sys'。所以只要做'sys.exit' – inspectorG4dget

+0

一個簡單的問題。我之前用超級計算機運行它,它工作。但是今天我在我的PC機上運行它,它給了我一個這樣的錯誤。有誰知道爲什麼? – study

回答

5

您需要import sys第一,因爲exit(和argv)是模塊中。

,當我運行你的代碼是我得到的錯誤:

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

這是抱怨的約sys.argv代替exit。但無論如何,解決方案 - import sys都是一樣的。

+0

實際上,即使沒有'import sys'''exit'命令在終端中工作。但是當我在Jupyter筆記本中運行相同的腳本時,我需要導入。不知道爲什麼? –

+0

即使我導入sys,我也無法在正在運行的Python3程序中的任何位置出現任何工作。 – rjurney

+0

你的代碼是什麼樣的? – khampson

1

如果您導入了sys,則使用sys.exit(0) - 將0更改爲您要退出的任何結果代碼。 我有同樣的問題,編譯前從.py文件exit(0)運行良好,但編譯後.exe它給了我一個錯誤。我不得不將exit(0)更改爲sys.exit(0),它工作。