2014-07-11 90 views
1

我想通過控制檯將url傳遞給我的python,然後執行相應的任務。許多鏈接在鏈接中包含字符'&'。 python解釋爲結束這個參數,然而這不是我想要的。這裏是代碼Python系統參數閱讀'&'

import sys 

external_id = sys.argv[1].encode("utf-8") 
print external_id 

當我運行下面的示例:

python graph.py 2%60&7 

我得到:

2%60 

我如何使Python解釋 '&' 如無物超過網址中的另一個字符?

+2

在前面扔一個轉義字符,即。 '\&' – scohe001

+0

看起來像這不是一個蟒蛇問題一樣多終端問題。 – BlackVegetable

+0

你可能錯過了你的shell在某處顯示那個小錯誤消息:'bash:7:command not found'。這是一個很大的線索;) –

回答

5

報價this answer

&通知殼把命令在後臺運行。

Python從來沒有收到該字符,因爲shell會照顧它,因此這不是Python的問題。你也可以換用2%60&7報價,使其工作

[email protected]:~$ python3 script.py '2%60&7' 
b'2%60&7' 

有時候逃逸&比這樣要困難得多。

6

這不是python,它是bash。你需要逃避它:

python graph.py 2%60\&7