很难从您的问题上确定当前的状况,但是我敢打赌,您的问题是 反斜线 。
[编辑添加:]或者实际上也许更简单一些。您是否在路径名两边加上了引号?如果没有,那肯定是行不通的-但是一旦您做得到,您将发现您需要我在下面写的其余内容。
在Windows文件系统中,反斜杠
是分隔目录的标准方法。用于将东西放入否则很难输入的字符串中。例如,如果您正在编写单引号字符串,并且想要在其中使用单引号,则可以执行以下 *** 作:'don't'。或者,如果您想要换行符,则可以执行以下 *** 作:
'Firstline.nSecond line.'
因此,如果您采用Windows路径名并将其插入Python,如下所示:
os.startfile('C:foobarbaz')
那么实际传递给的字符串
os.startfile将不包含那些反斜杠;它将包含一个换页字符(来自
f)和两个退格字符(来自
bs),这根本不是您想要的。
您可以通过三种方式处理此问题。
您可以使用正斜杠代替反斜杠。尽管Windows在其用户界面中更喜欢反斜杠,但是正斜杠也可以工作,并且它们在Python字符串文字中没有特殊含义。
您可以“转义”反斜杠:连续两个反斜杠表示实际的反斜杠。
os.startfile('C:\foo\bar\baz')
您可以使用“原始字符串文字”。
r
在开始的单引号或双引号之前放置一个。这将使反斜杠不会被特别解释。os.startfile(r'C:foobarbaz')
最后一个也许是最好的, 除了 一个令人讨厌的怪癖:反斜杠引号在原始字符串文字中仍然很特殊,因此您仍然可以说
'don't',这意味着您不能以反斜杠
结束 原始字符串文字。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)