python調(diào)用程序路徑中包空格,及包含特殊字符問題-創(chuàng)新互聯(lián)

  解決辦法

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、天門網(wǎng)站維護(hù)、網(wǎng)站推廣。

  import os

  s = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"'

  print(s)

  os.system(s)

  也就是在調(diào)用的路徑中如果包含空格,需要將調(diào)用的路徑用" 引起來

  擴(kuò)展知識

  1.windows平臺這里只能用 雙引號,cmd不能識別單引號包含的路徑 ,linux即可以用雙引號也可以用單引號,但只要有路徑中包含空格就需要用雙引號包裹住

  2.為什么前面的程序去掉 r 也能運(yùn)行?

  首先要明白 r表示什么意思,r在python字符串中表示原始字符,也就是你字符串中寫的是什么就是什么,不經(jīng)過轉(zhuǎn)義,例如

  print(r"\\\\")

  print("\\\\")

  print("\"")

  print(r"\"")

  輸出:

  \\\\

  \\

  "

  \" 鄭州婦科醫(yī)院哪家好 http://mobile.120zzzy.com/

  第一種因?yàn)橛胷表示原始字符串所以,所以都不轉(zhuǎn)義

  第二中轉(zhuǎn)義兩個 \\

  第三種可能大部分人不知道還有這種寫法(或者不常用),一般如果要輸出 " 就用 '包裹起來就行了,但是其實(shí)是可以轉(zhuǎn)義輸出出來的

  第四種同理

  轉(zhuǎn)義的作用其實(shí)主要是為了 與python內(nèi)置的語法與 你聲明的字符串中包含的字符區(qū)分開來

  回歸問題,為什么去掉r 也能運(yùn)行,原因就很明顯了,因?yàn)?路徑中沒有與python 內(nèi)置語法相同的字符,例如如果路徑中包含雙引號,或者路徑首字母為 u (\u Unicode與中文互轉(zhuǎn) )等等,這類路徑就必須加 r ,所以前面加上r是最保險的

  其實(shí)導(dǎo)致問題怎么復(fù)雜的主要原因在于

  在windows上的路徑分割很奇葩與轉(zhuǎn)義字符的語法一樣為\,在linux上路徑分割是/, 所以linux 幾乎沒有調(diào)用路徑的問題,另外很多編程語言轉(zhuǎn)義字符都是\ ,或許這也是為什么編程習(xí)慣于用linux 原因吧

網(wǎng)頁標(biāo)題:python調(diào)用程序路徑中包空格,及包含特殊字符問題-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article4/csgioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、網(wǎng)站制作、全網(wǎng)營銷推廣、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司