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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- URL路徑中包含特殊字元%的處理字元
- url中的特殊字元問題字元
- Linux 下如何處理包含空格和特殊字元的檔名Linux字元
- python 當前路徑和導包路徑問題全解析Python
- python中的路徑問題彙總Python
- ModelAndView導包路徑問題View
- 下載Python安裝包及支援包路徑Python
- 2162: 練9.1 字元菱形 【空格問題】字元
- 空格在程式碼中變成其他字元或者亂碼問題解決方法字元
- 改包含特殊字元的表空間名字元
- 安卓資源字串中加全形空格、半形空格、換行、@%等特殊字元安卓字串字元
- Oracle錄入特殊字元 [&] 的小問題Oracle字元
- Java包呼叫問題Java
- anaconda中python環境路徑衝突問題Python
- 如何在Mac字型中訪問特殊字元Mac字元
- scheme跳轉特殊字元編碼問題Scheme字元
- 配置typeAliasesPackage支援萬用字元包路徑掃描Package字元
- shell判斷系統路徑中是否存在空格
- web應用中的路徑問題Web
- DWR中引用JS的路徑問題JS
- 文字中的特殊字元字元
- 欄位處理rtrim去掉結尾的特殊字元和空格字元
- 求助:jsp中session跨war包呼叫問題?JSSession
- linux下rm命令刪除檔名中包含特殊字元的檔案Linux字元
- 特殊字元^M引起的資料匯入問題字元
- url引數中有+、空格、=、%、&、#等特殊符號的問題解決符號
- 容器網路中的 Iptables 包路徑
- 解決opencv讀取、儲存影像時路徑包含中文和特殊符號OpenCV符號
- python 中快速定位到三方包所在路徑Python
- Windows程式讀取不了中文路徑問題Windows
- 遞迴路徑問題遞迴
- 資源路徑問題
- JSP 和 Servlet 中的絕對路徑和相對路徑問題JSServlet
- Qt 程式獲取程式所在路徑、使用者目錄路徑、臨時資料夾等特殊路徑的方法QT
- PHP中require和include路徑問題總結PHPUI
- Python大資料分析學習.路徑問題Python大資料
- 包含中文字元的URL編碼問題(轉)字元
- 使用者密碼包含特殊字元時的登陸方法密碼字元