温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python调用程序路径中包空格,及包含特殊字符问题

发布时间:2020-08-10 12:09:24 来源:ITPUB博客 阅读:388 作者:ckxllf 栏目:编程语言

  解决办法

  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 原因吧

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI