Mac OSX下Python的os.system如何处理含空格的文件名?
解决Mac OSX下Python执行含空格路径的问题
终端里空格会被当作命令参数的分隔符,你直接写Applications/Google Chrome会被拆成Applications/Google和Chrome两个部分,自然找不到正确路径。给你三种可行的解决方法:
方法1:给路径套引号
把带空格的路径用双引号包裹,同时用单引号把整个命令字符串括起来(避免Python解析双引号时出问题):
import os os.system('open "Applications/Google Chrome"')
方法2:转义空格
用反斜杠\转义路径里的空格,注意在Python字符串中,反斜杠需要额外转义一次(或者用原始字符串):
import os # 普通字符串,反斜杠转义 os.system("open Applications/Google\\ Chrome") # 原始字符串,无需额外转义 os.system(r"open Applications/Google\ Chrome")
方法3:用subprocess模块(推荐)
os.system是比较老旧的方式,Python推荐用subprocess模块执行外部命令,它可以直接把命令和参数拆成列表,完全不用处理空格问题:
import subprocess subprocess.run(['open', 'Applications/Google Chrome'])
这种方式更安全易维护,后续路径里有其他特殊字符也不用额外处理。
内容的提问来源于stack exchange,提问作者user20489210
相关产品推荐
相关产品推荐

