python调用程序路径中包空格,及包含特殊字符问题
解决办法
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调用程序路径中包空格,及包含特殊字符问题的更多相关文章
- java路径中的空格问题(转)
java路径中的空格问题 1. URLTest.class.getResource("/").getPath(); URLTest.class.getResource(" ...
- Python 调用JS文件中的函数
Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...
- python的搜索路径与包(package)
python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败: >>> import ...
- yum中baserul路径中的空格
配置yum源时,比如指定本地挂载的光盘时,路径中包含空格.在不使用链接的情况下,用"\"进行转义不行,把路径加单.双引号也不可行.正确做法是把空格用%20代替.同理,其他不可识别的 ...
- c++ 中CImage类Load函数,路径中含有空格应对策略!
最近,在写一些东西的时候,需要用到CImage类将JPG各式的图片转换成BMP图片,传入的是图片的绝对地址:如C:\Users\Administrator\Documents\Visual Studi ...
- python正则表达式从路径中取文件名出来不加后缀(txt)
正则表达式[^\\/:*?"<>|\r\n]+$ ---->取文件名包括后缀 e.g. >>>D:\PyCharm 2018.2.4\pythonWork ...
- python调用scala或java包
项目中用到python操作hdfs的问题,一般都是使用python的hdfs包,然而这个包初始化起来太麻烦,需要: from pyspark impport SparkConf, SparkConte ...
- Python编写“去除字符串中所有空格”
#利用迭代操作,实现一个trim()函数,去除字符串中所有空格 def trim(str): newstr = '' for ch in str: #遍历每一个字符串 if ch!=' ': news ...
- C# 调用cmd命令行路径中带空格问题
今天打包winform程序,程序中本身有一处需要调用cmd.exe,打包安装在C:\Program Files目录下,然后调用cmd的地方,就弹出了C:\Program不是内部或外部命令,也不是可运行 ...
- 使用 jpype 库实现 Python 调用 java 的 jar 包中的功能
一.what's the JPype JPype 是一个能够让 python 代码方便地调用 Java 代码的工具.在某些时候 java 的能力更强,我们可以用 java 写一个模块的功能然后用 Py ...
随机推荐
- 华南理工大学 Python第4章课后小测-2
1.(单选)下面程序的输出结果是: for c in "ComputerScience": if c=="S": continue print(c,end=&q ...
- C++ "链链"不忘@必有回响之单链表
1. 前言 数组和链表是数据结构的基石,是逻辑上可描述.物理结构真实存在的具体数据结构.其它的数据结构往往在此基础上赋予不同的数据操作语义,如栈先进后出,队列先进先出-- 数组中的所有数据存储在一片连 ...
- python的三层架构
项目目录规范 Foo/ |-- core/ # 存放业务逻辑相关代码 | |-- core.py | |-- api/ # 存放接口文件,接口主要用于为业务逻辑提供数据操作. | |-- api.py ...
- Odoo自建应用初步总结(一)
学习了<Odoo快速入门与实践 Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社)第6章自建应用入门后进行一下总结. 因为本书作者使用Odoo11,而目前最新版本 ...
- 查询参数和字符串校验:Query_Parameters_and_String_Validations
官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/query-params-str-validations/ # -*- coding: UTF-8 -* ...
- Compose 命令说明
命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有的服务都会受到命令影响. 执行 ...
- 研发效能之技术治理&技术治理架构师
最近很多公司专门设置了一个职位叫「技术治理架构师」,主要负责公司技术治理相关事宜.这是个非常有意思的职位.技术治理的活,之前我们也是做的,只是没有提的这么明确,一般都是研发效能团队.PMO.架构团队. ...
- 【C++】从零开始的CS:GO逆向分析2——配置GLFW+IMGUI环境并创建透明窗口
[C++]从零开始的CS:GO逆向分析2--配置GLFW+IMGUI环境并创建透明窗口 使用的环境:Visual Studio 2017,创建一个控制台程序作为工程文件 1.配置glfw 在git ...
- Node.js(五)学生管理CRUD
npm init -y(初始化项目) npm install express(引入express) npx express-generator -e(自动生成模板.添加对 ejs 模板引擎的支持) n ...
- Idea运行支付宝网站支付demo踩坑解决及其测试注意事项
一.前言 在一些商城网上中,必不可少的是支付,支付宝和微信比较常见,最近小编也是在研究这一块,看看支付宝怎么进行支付的,支付宝给我们提供了demo和沙箱测试.减少我们的申请的麻烦,公钥和秘钥也比之前方 ...