2015-04-17 72 views
-2

我發現在互聯網上這個腳本: https://gist.github.com/gavsmi/dd31746e5847300b62daPython語法錯誤「不能連接‘海峽’和‘NoneType’對象」

任何想法,爲什麼我收到以下錯誤消息?它看起來像一個語法錯誤。我仍然對Python很陌生,所以請幫助我指出問題所在以及如何解決它。

[[email protected] tmppython]# python snapshot.py 
INFO:root:Finding snapshot for tag... 
Traceback (most recent call last): 
    File "snapshot.py", line 164, in <module> 
    main() 
    File "snapshot.py", line 30, in main 
    snapshot = find_snapshot(args.tag_name, args.tag_value) 
    File "snapshot.py", line 47, in find_snapshot 
    snapshots = conn.get_all_snapshots(filters={'tag:' + tag_name: tag_value}) 
TypeError: cannot concatenate 'str' and 'NoneType' objects 
+0

這不是一個語法錯誤,它是一個運行時錯誤。 'tag_name'是'None',不是一個字符串。 –

+0

*爲什麼*發生錯誤,需要調試,但堆棧溢出不是調試服務。你需要自己做一些工作。例如,您需要告訴我們您的代碼應該做什麼,您希望發生什麼以及您認爲問題可能出在哪裏。另請參閱[是否有合法的「修復我的代碼」問題?](http://meta.stackoverflow.com/q/253787)和鏈接的[如何調試小程序](http://ericlippert.com/2014/ 03/05/how-to-debug-small-programs /)博客文章。 –

+0

快速瀏覽回溯表明'--tag-name'命令行開關不是可選的。代碼打破了這裏,因爲沒有指定標籤名稱。 –

回答

0

運行腳本時,您可能沒有提供'tag_name'命令行參數。 argparse模塊中默認添加了參數None,所以'args.tag_name'(發生錯誤的範圍內的'tag_name')將是None,除非您通過命令行給它一個值。如果不明確,「無法連接'str'和'NoneType'對象'嘗試連接的運行時錯誤結果''tag:'+ tag_name」,其中'tag_name'爲None。

相關問題