解决办法

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

最新文章

  1. C++各种进制的转换
  2. ajax浅析---UpdatePanel
  3. Android百度地图开发(一)之初体验
  4. [.NET] 打造防“狼”神器 :任务栏篇
  5. [MEAN+ Webstrom] First API -- 2.Debug Node.js RESTful application
  6. 从头开始编写一个Orchard网上商店模块(3) - 创建Orchard.Webshop模块项目
  7. the identity used to sign the executable is no longer valid.解决方法
  8. vb.net常用函数
  9. jQuery上传插件Uploadify 3.2在.NET下的详细例子
  10. 页面刷新vuex数据消失问题解决方案
  11. OS X第三方类库管理工具cocoapods入门
  12. ftp服务配置
  13. mac查看当前调用tcp的进程并关闭指定进程
  14. xbee无线通讯终端
  15. DataFrame修改列名
  16. Logstash 基础入门
  17. python学习day4 数据类型 if语句
  18. SD从零开始33-37
  19. Mysql:MyIsam和InnoDB的区别
  20. 【转】(七)unity4.6Ugui中文教程文档-------概要-UGUI Auto Layout

热门文章

  1. Django 之视图层
  2. 【项目实战】kaggle产品分类挑战
  3. Solutions:Elastic SIEM - 适用于家庭和企业的安全防护 ( 一)
  4. 修改 Docker容器 自动启动/不自动启动,挂载路径,存储位置
  5. WMS 相比于 ERP 系统有哪些优势?
  6. Docker Private Registry
  7. capability参数配置
  8. Java中的名称命名规范
  9. Java模拟生产者-消费者问题。生产者不断的往仓库中存放产品,消费者从仓库中消费产品。其中生产者和消费者都可以有若干个。在这里,生产者是一个线程,消费者是一个线程。仓库容量有限,只有库满时生产者不能存
  10. springboot+thymeleaf+bootstrap 超级无敌简洁的页面展示 商城管理页面