2017-06-05 114 views
0

問題是我無法完成運行最簡單命令的第一步。當我寫這篇文章的代碼如何解決無法識別的參數錯誤?

import argparse 
parser = argparse.ArgumentParser() 
parser.parse_args() 

的話,我得到這個錯誤

usage: main.py [-h]
main.py: error: unrecognized arguments: -f
C:\Users\Saeid\AppData\Roaming\jupyter\runtime\kernel-301e1312-128e-4c4d-9ae8-
035b05a69a59.json

發生異常,使用TB%看到完整的回溯。

SystemExit:2

C:\Program Files\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py:2889: UserWarning: To exit: use
'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

+0

爲什麼你甚至使用'argparse'?你想分析哪些命令行參數?另外你如何運行這個腳本?從shell?從正在運行的Ipython會話中?用Ipython的'run'?或者是其他東西。你沒有提供足夠的上下文。 – hpaulj

回答

1

的​​模塊用於解析命令行參數。因此,在IPython或Jupyter筆記本中這樣做沒有多大意義。這個錯誤有可能來源於筆記本被-f選項調用的事實。

+0

感謝您的快速回復,但我的問題是我應該如何實現此腳本。顯然,我是新的python,我不知道我應該如何使用argparse與ipython,如果你可以提供我一個程序,我將不勝感激。 (我使用ipython在anaconda和它在windows7上運行) –

0

由於時髦未來指出,您不應該使用IPython筆記本電腦​​。爲了測試它是如何工作的,讓我們假設一個名爲test.py,內容如下文件:

import argparse 
parser = argparse.ArgumentParser() 
parser.add_argument("echo") 
args = parser.parse_args() 
print(args.echo) 

現在在你的終端(CMD或PowerShell的),你去與test.py文件類型的目錄:

python test.py 123 

輸出應爲:

123 

Source

+0

謝謝,我想通了,但無論如何謝謝:) –

0

要避免該錯誤消息,您可以做

import argparse 
parser = argparse.ArgumentParser() 
parser.parse_args([]) 
相關問題