您好,登錄后才能下訂單哦!
解決辦法
import os
s = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"'
print(s)
os.system(s)
也就是在調用的路徑中如果包含空格,需要將調用的路徑用" 引起來
擴展知識
1.windows平臺這里只能用 雙引號,cmd不能識別單引號包含的路徑 ,linux即可以用雙引號也可以用單引號,但只要有路徑中包含空格就需要用雙引號包裹住
2.為什么前面的程序去掉 r 也能運行?
首先要明白 r表示什么意思,r在python字符串中表示原始字符,也就是你字符串中寫的是什么就是什么,不經過轉義,例如
print(r"\\\\")
print("\\\\")
print("\"")
print(r"\"")
輸出:
\\\\
\\
"
\" 鄭州婦科醫院哪家好 http://mobile.120zzzy.com/
第一種因為用r表示原始字符串所以,所以都不轉義
第二中轉義兩個 \\
第三種可能大部分人不知道還有這種寫法(或者不常用),一般如果要輸出 " 就用 '包裹起來就行了,但是其實是可以轉義輸出出來的
第四種同理
轉義的作用其實主要是為了 與python內置的語法與 你聲明的字符串中包含的字符區分開來
回歸問題,為什么去掉r 也能運行,原因就很明顯了,因為 路徑中沒有與python 內置語法相同的字符,例如如果路徑中包含雙引號,或者路徑首字母為 u (\u Unicode與中文互轉 )等等,這類路徑就必須加 r ,所以前面加上r是最保險的
其實導致問題怎么復雜的主要原因在于
在windows上的路徑分割很奇葩與轉義字符的語法一樣為\,在linux上路徑分割是/, 所以linux 幾乎沒有調用路徑的問題,另外很多編程語言轉義字符都是\ ,或許這也是為什么編程習慣于用linux 原因吧
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。