python字符串错误

0 python string filepath

dir = "C:\Users\Geraldes\Desktop\media\teste\ASMS_TapeA01A1691329.mxf"

print dir
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我得到这个...我知道\ t是标签

C:\Users\Geraldes\Desktop\media  (espacamento)  este\ASMS_TapeA01A1691329.mxf
Run Code Online (Sandbox Code Playgroud)

但是,为了解决这个问题,我做了:

dir1 = dir.replace("\\", "\\\\")

print "dir:",dir1
Run Code Online (Sandbox Code Playgroud)

我明白了

C:\\Users\\Geraldes\\Desktop\\media (espacamento)  este\\ASMS_TapeA01A1691329.mxf
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Nat*_*ate 5

转义原始字符串的反斜杠,或使用原始字符串.

那是,

dir = "C:\\Users\\Geraldes\\Desktop\\media\\teste\\ASMS_TapeA01A1691329.mxf"
Run Code Online (Sandbox Code Playgroud)

要么

dir = r"C:\Users\Geraldes\Desktop\media\teste\ASMS_TapeA01A1691329.mxf"
Run Code Online (Sandbox Code Playgroud)

但是:小心第二种选择,因为原始字符串不是为Windows路径发明的 - 它们被放在那里用于正则表达式.因此,有一天你会发现你想在字符串的末尾放一个反斜杠,如下所示:

dir = "C:\Users\Geraldes\Desktop\media\teste\"
Run Code Online (Sandbox Code Playgroud)

它不会起作用.这是更深入的讨论在这里.