1

我正在尝试在 Python 中使用一些长文件路径(Windows)并且遇到了一些问题。在阅读了此处的问题后,看起来我需要将“\\?\”附加到我的长文件路径的前面,以便将它们与 os.stat(filepath) 一起使用。我遇到的问题是我无法在 Python 中创建以反斜杠结尾的字符串。这里的问题指出,您甚至不能在 Python 中以单个 '\' 字符结束字符串。

在任何 Python 标准库或其他任何地方,是否有任何东西可以让您简单地将 '\\?\' 附加到您已经拥有的文件路径的前面?或者是否有任何其他解决方法可以在 Windows 中使用 Python 处理长文件路径?这似乎是一件很简单的事情,但我一生都无法弄清楚。

4

2 回答 2

3

"\\\\?\\" 应该给你你想要的字符串。

更长的答案:当然,您可以在 Python 中用反斜杠结束字符串。当它是一个“原始”字符串(以'r'为前缀的字符串)时,你不能这样做。您通常将其用于包含(大量)反斜杠的字符串(以避免臭名昭著的“倾斜牙签”综合症;-))

于 2009-12-26T12:49:11.340 回答
0

即使使用原始字符串,您也可以以反斜杠结尾:

>>> print r'\\?\D:\Blah' + '\\'
\\?\D:\Blah\

甚至:

>>> print r'\\?\D:\Blah' '\\'
\\?\D:\Blah\

因为 Python 将文字字符串连接成一个。

于 2009-12-26T21:31:29.150 回答