解决办法

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

python调用程序路径中包空格,及包含特殊字符问题的更多相关文章

  1. java路径中的空格问题(转)

    java路径中的空格问题 1. URLTest.class.getResource("/").getPath(); URLTest.class.getResource(" ...

  2. Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  3. python的搜索路径与包(package)

    python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败: >>> import ...

  4. yum中baserul路径中的空格

    配置yum源时,比如指定本地挂载的光盘时,路径中包含空格.在不使用链接的情况下,用"\"进行转义不行,把路径加单.双引号也不可行.正确做法是把空格用%20代替.同理,其他不可识别的 ...

  5. c++ 中CImage类Load函数,路径中含有空格应对策略!

    最近,在写一些东西的时候,需要用到CImage类将JPG各式的图片转换成BMP图片,传入的是图片的绝对地址:如C:\Users\Administrator\Documents\Visual Studi ...

  6. python正则表达式从路径中取文件名出来不加后缀(txt)

    正则表达式[^\\/:*?"<>|\r\n]+$ ---->取文件名包括后缀 e.g. >>>D:\PyCharm 2018.2.4\pythonWork ...

  7. python调用scala或java包

    项目中用到python操作hdfs的问题,一般都是使用python的hdfs包,然而这个包初始化起来太麻烦,需要: from pyspark impport SparkConf, SparkConte ...

  8. Python编写“去除字符串中所有空格”

    #利用迭代操作,实现一个trim()函数,去除字符串中所有空格 def trim(str): newstr = '' for ch in str: #遍历每一个字符串 if ch!=' ': news ...

  9. C# 调用cmd命令行路径中带空格问题

    今天打包winform程序,程序中本身有一处需要调用cmd.exe,打包安装在C:\Program Files目录下,然后调用cmd的地方,就弹出了C:\Program不是内部或外部命令,也不是可运行 ...

  10. 使用 jpype 库实现 Python 调用 java 的 jar 包中的功能

    一.what's the JPype JPype 是一个能够让 python 代码方便地调用 Java 代码的工具.在某些时候 java 的能力更强,我们可以用 java 写一个模块的功能然后用 Py ...

随机推荐

  1. kettle通过SSH连接Mysql数据库(SSH隧道)

    kettle通过SSH连接Mysql数据库(SSH隧道) Kettle无法直接连接使用SSH通道的MySQL,通过SSH隧道(推荐)或者需要借助工具PuTTY(不用时需要注销不推荐),具体操作如下所示 ...

  2. 导出DNS服务器上的记录

    近日遇到一个需求,需要将DNS服务器上的所有记录都导出. 试了一下,如果从DNS管理单元里直接选择导出列表,那么子域的DNS记录是不会被导出的.这样显然不行,需要寻找其它方法.本来想用Export-D ...

  3. acme.sh官方中文说明文档

    转载自:https://github.com/acmesh-official/acme.sh/wiki/说明 acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书. ...

  4. ProxySQL 读写分离方法

    转载自:https://www.jianshu.com/p/597b840bf70c (使用正则表达式实现基本的读/写分离) 在这一部分,我将通过一个示例来演示如何通过正则表达式来实现读/写分离. 首 ...

  5. MySQL读写分离之——ProxySQL

    文章转载自:https://blog.csdn.net/u012280685/article/details/113520692?spm=1001.2014.3001.5501 实现一个简单的读写分离 ...

  6. RDS MySQL内存管理

    官方文档地址:https://help.aliyun.com/product/26090.html?spm=5176.7920929.1290474.7.2c6f4f7bACaToi 官方文档地址:h ...

  7. HDU3507 print article (斜率优化DP)

    状态表示:dp[i]表示打印前i个单词的最小成本:s[i]维护前缀和. 状态转移:dp[i]=min(dp[j]+(s[i]-s[j])2)+m , 0<=j<i. 换成y=kx+b的形式 ...

  8. ASP.NET Core :中间件系列(三):中间件限流

    中间件 微软官网定义: 中间件 中间件意思就是处理请求和响应的软件: 1.选择是否将请求传递到管道中的下一个组件. 2.可在管道中的下一个组件前后执行工作. 对中间件类 必须 包括以下 具有类型为 R ...

  9. CentOS6/7开机启动配置

    最近在配置Linux系统的ntp校时,涉及到开机启动问题,总结一下 两个环境: CentOS release 6.5 (Final) CentOS Linux release 7.9.2009 (Co ...

  10. cmd复制移动合并文件

    1.单文件复制: (1)把c:\1.txt复制到c:\2\文件夹下 copy c:\1.txt c:\2\ (2)把c:\1.txt复制到c:\1\文件夹下,并把它修改为777.docx copy c ...