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

时间:2013-12-27 05:06:54

标签: python

我有两个问题。首先,我有一个看起来像这样的字符串

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"

所以问题的第一部分是,如何将这些引号添加到我的字符串中?

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

1 个答案:

答案 0 :(得分:1)

试试这个:

os.startfile(r'C:\Users\me\Desktop\Personal\Songs\U2 - Beautiful Day.mp3')

这就像在资源管理器中双击文件并运行文件扩展名的默认程序一样。还注意到字符串开头的r。这是一个“原始”字符串,反斜杠不会被处理为转义码。

但是要回答你的问题,Python可以使用单引号和双引号来创建字符串,因此如果你想要嵌入双引号,你可以使用单引号来引用字符串。

os.system('start "'+that_string+'"')