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

解决办法import oss = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"'print(s)os.system(s)也就是在调用的路径中如果包含空格,需要将调用的路径用" 引起来扩展知识1.windows平台这里只能用 双引号,cmd不能识别单引号包含的路径 ,linux即可以用双引号也可以用单引号,但只要有...
最近在采集windows上中间件的时候,遇到了文件路径空格问题。 例如:Aapche的安装路径为D:\Program Files\Apache Software Foundation\Apache2.2。 采集apache要读取配置文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 执行一些D:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe -v 这种命令。 读取配置文件是没有问题的,因为用的是python代码,打开
在打开plist文档遇到路径中有空格问题。添加以下即可。 因为将文件直接拖入终端后会在空格前添加 \ ,删除即可~ python /Users/robbie/Desktop/read_plist_file.py Please input your plist file:/Users/robbie/Downloads/Users\ 2/2020\ 05\ 05/PDCA.plist Please input your plist file:/Users/robbie/Downloads/Users\ 2
一、解决请求路径中含义中文或特殊字符(/n,/t等):1 httpurl=urllib.parse.quote(new_url, safe=string.printable)注意:new_url必须是只有一个单引号或者双引号,如果是下面这个既有单引号,也有双引号,就会出现urlerror: new_url='"http://news.sina.com.cn/o/2017-06-08/doc-...
包导入格式 导入模块时除了使用模块名进行导入,还可以使用目录名进行导入。例如,在sys.path路径下,有一个dir1/dir2/mod.py模块,那么在任意位置处都可以使用下面这种方式导入这个模块。 import dir1.dir2.mod from dir1.dir2.mod import XXX 一个实际一点的示例,设置PYTHONPATH环境变量为d:\pypath,然后在此目录下创建以...
最近用Python读取文件,发现有时候用 ‘’ 会报错,换成 ‘\’ 就不会报错。查了下资料发现,’‘是Python的转义字符,如果路径中存在’\t’或者’\r’这样的特殊字符,’‘就无法起到目录跳转的作用,因此报错。解决办法就是告诉系统’‘不是转义字符,’\'就起这种作用,现给出一个示例。 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 =
在文件命名时,经常遇到以下问题: 功能实现非常简单,文件名不可出现的字符为 /?"*<>| ,但是,这对一些形状相似的特殊符号没有任何影响,所以,只要将它们替换为 \/?"*<>︱ 就非常完美了,代码如下: def FileName(STR): for i,j in ("//","\\\","??","|︱","\""","**","<<",">>"): STR=STR.replace(i,j) return STR print(FileName("
前言:需要从C向Python传入一个字符串,该字符串是从QT上位机界面通过选择文件得到的,类似这样:E:\datat\signal.mat ,但是用Python直接打开这个文件是不可以的,可以通过三种方式来解决这个问题: 1、首先是在前面加上 r ,但是好像不太好实现,因为这个是作为一个字符串参数进行的传入 2、在Python中将‘\’,全部替换为‘\\’,这样...
error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or di 记录一次电脑数据删除分区后的恢复 sky_163: 暂时不要重建分区,可以用 WishRecy找回里面的数据。 写一个frida通杀脚本 whatiwhere: 文章内容不错,就是md的格式 还需要优化下 英格索兰扳手网口通信协议EOR原理 qq_45678994: SES01Q0200000028ICS,这是什么意思呢?图中和您编的程序中一个是SES01Q02一个是SES01Q09 typora实现多平台发布文章 weixin_72407838: 发布各个平台需要复制粘贴,但是程序员不做重复性质的劳动,哪怕仅仅是复制粘贴~