2013-03-25 31 views
-1

這是代碼:如何在Python cmd中正確識別argv?

import sys 
# Gather our code in a main() function 

def main(): 
    for arg in sys.argv: 
     print(arg) 

# Standard boilerplate to call the main() function to begin 
# the program. 
if __name__ == '__main__': 
    main() 

當我運行它在cmd中像a.py a&7,只打印a&7無法識別)。 如何將&這樣的字符發送到sys.argv[]

+0

包含您已經嘗試過的內容有時很有幫助。 – 2013-03-28 01:51:46

+0

我只是不知道如何解決這類問題,因爲谷歌似乎不會識別'&'等特殊字符。 – mascure 2013-04-01 05:36:30

回答

3

在Windows上,躲避符號用^

python a.py a^&7 

或引用用雙引號(單引號無效):

python a.py "a&7" 
+0

It works.Thanks。 – mascure 2013-03-25 10:36:12

2

假設這是一個類Unix系統,你需要引用參數來防止shell解析它和治療&爲命令分隔符:

a.py 'a&7' 
+0

在windows中如何? – mascure 2013-03-25 10:29:35

+0

@mascure:在Windows上引用命令行參數仍然是一個好主意。 – 2013-03-25 10:30:46