Python 如何转义特殊字符并在命令提示符下运行命令?

Python 如何转义特殊字符并在命令提示符下运行命令?,python,Python,我有一个由两部分组成的问题。首先,我有一个像这样的字符串 C:\Users\me\Desktop\Personal\Songs\U2 - Beautiful Day.mp3 现在,我想从我的程序中打开这个文件 os.system("start "+that_string) 遗憾的是,命令提示符中出现了一个错误,因为它试图打开文件 C:\Users\me\Desktop\Personal\Songs\U2 这是由于字符串中的空格造成的。这意味着我需要在整个字符串周围使用引号。。。在cmd中是

我有一个由两部分组成的问题。首先,我有一个像这样的字符串

C:\Users\me\Desktop\Personal\Songs\U2 - Beautiful Day.mp3
现在,我想从我的程序中打开这个文件

os.system("start "+that_string)
遗憾的是,命令提示符中出现了一个错误,因为它试图打开文件

C:\Users\me\Desktop\Personal\Songs\U2
这是由于字符串中的空格造成的。这意味着我需要在整个字符串周围使用引号。。。在cmd中是这样的

start "C:\Users\me\Desktop\Personal\Songs\U2 - Beautiful Day.mp3"
我的问题的第一部分是,如何将这些引号添加到字符串中

接下来,当我在命令提示符中实际运行最后一个命令时,它所做的就是打开另一个命令提示符实例。那么,我是否使用错误的命令在默认程序中打开文件?如果是,我应该使用哪个命令

试试这个:

os.startfile(r'C:\Users\me\Desktop\Personal\Songs\U2 - Beautiful Day.mp3')
这就像在资源管理器中双击文件并运行文件扩展名的默认程序一样。还注意到字符串开头的
r
。这是一个“原始”字符串,反斜杠不会作为转义码处理

但是为了回答您的问题,Python可以使用单引号和双引号来生成字符串,因此如果您想要嵌入双引号,可以使用单引号来引用字符串

os.system('start "'+that_string+'"')
谢谢你,马克!startfile()正是我想要的。