python呼叫程式路徑中包空格,及包含特殊字元問題
解決辦法
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"\"")
輸出:
\\\\
\\
"
\" 鄭州婦科醫院哪家好
第一種因為用r表示原始字串所以,所以都不轉義
第二中轉義兩個 \\
第三種可能大部分人不知道還有這種寫法(或者不常用),一般如果要輸出 " 就用 '包裹起來就行了,但是其實是可以轉義輸出出來的
第四種同理
轉義的作用其實主要是為了 與python內建的語法與 你宣告的字串中包含的字元區分開來
迴歸問題,為什麼去掉r 也能執行,原因就很明顯了,因為 路徑中沒有與python 內建語法相同的字元,例如如果路徑中包含雙引號,或者路徑首字母為 u (\u Unicode與中文互轉 )等等,這類路徑就必須加 r ,所以前面加上r是最保險的
其實導致問題怎麼複雜的主要原因在於
在windows上的路徑分割很奇葩與跳脫字元的語法一樣為\,在linux上路徑分割是/, 所以linux 幾乎沒有呼叫路徑的問題,另外很多程式語言跳脫字元都是\ ,或許這也是為什麼程式設計習慣於用linux 原因吧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2667020/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python 當前路徑和導包路徑問題全解析Python
- python中的路徑問題彙總Python
- 2162: 練9.1 字元菱形 【空格問題】字元
- 下載Python安裝包及支援包路徑Python
- 空格在程式碼中變成其他字元或者亂碼問題解決方法字元
- anaconda中python環境路徑衝突問題Python
- scheme跳轉特殊字元編碼問題Scheme字元
- 安卓資源字串中加全形空格、半形空格、換行、@%等特殊字元安卓字串字元
- 如何在Mac字型中訪問特殊字元Mac字元
- 路徑問題
- 配置typeAliasesPackage支援萬用字元包路徑掃描Package字元
- shell判斷系統路徑中是否存在空格
- 文字中的特殊字元字元
- Windows程式讀取不了中文路徑問題Windows
- 解決opencv讀取、儲存影像時路徑包含中文和特殊符號OpenCV符號
- python 中快速定位到三方包所在路徑Python
- Python大資料分析學習.路徑問題Python大資料
- Qt 程式獲取程式所在路徑、使用者目錄路徑、臨時資料夾等特殊路徑的方法QT
- 資源路徑問題
- 遞迴路徑問題遞迴
- 容器網路中的 Iptables 包路徑
- (問)get請求會對中文及特殊字元進行轉碼字元
- windows 安裝python後pip安裝路徑問題WindowsPython
- python如何刪除字串的特殊字元Python字串字元
- 程式設計中對於檔案路徑應該注意的問題程式設計
- 深入剖析go中字串的編碼問題——特殊字元的string怎麼轉byte?Go字串字元
- 解決Python執行命令時路徑空格引發的困擾Python
- 演算法——路徑問題演算法
- vue中呼叫問題Vue
- HTML特殊字元HTML字元
- JavaWeb中讀取【專案路徑下檔案】的路徑問題:this.getServletContext().getRealPath()JavaWebServletContext
- 路徑上若干條樹的包含
- MySQL 中字元編碼問題MySql字元
- ABAP 程式碼中,哪些特殊字元不能用於變數命名?字元變數
- 使用 PyExecJS2 庫時 js 引用包的模組路徑問題JS
- Spring - 配置檔案中的特殊字元Spring字元
- 檔案路徑問題( ./ 和 ../ 和 @/ )
- VsCode相對路徑的問題VSCode