gpt4 book ai didi

python - 如何将双斜杠路径转换为 ​​open() 接受的路径?

转载 作者:可可西里 更新时间:2023-11-01 11:13:07 24 4
gpt4 key购买 nike

我有一个代表 Windows 上路径的原始字符串,如下所示:'F:\\Music\\v flac\\1-06 No Quarter.flac\r' 我应该怎么做它让 open() 接受它? os.path.normpath() 不工作。

>>> path
'F:\\Music\\v flac\\1-06 No Quarter.flac\r'
>>> fp=open(path,'rb')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 22] invalid mode ('rb') or filename: 'F:\\Music\\v flac\\1-06 No
Quarter.flac\r'
>>> fp=open(os.path.normpath(path),'rb')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 22] invalid mode ('rb') or filename: 'F:\\Music\\v flac\\1-06 No
Quarter.flac\r'
>>>

最佳答案

双斜杠不是这里的问题。导致问题的是末尾的 \r 回车符。

从路径串起来:

fp = open(path.strip(), 'rb')

Python 只是显示您的 path 字符串的字符串文字表示,以便于调试。可打印 ASCII 范围之外的任何具有特殊含义的字符都会被转义,包括反斜杠。值本身没有双反斜杠:

>>> path = 'F:\\Music\\v flac\\1-06 No Quarter.flac\r'
>>> path
'F:\\Music\\v flac\\1-06 No Quarter.flac\r'
>>> print path
F:\Music\v flac\1-06 No Quarter.flac
>>> path[:3]
'F:\\'
>>> len(path[:3])
3

请注意打印 path 如何显示只有一个反斜杠的路径值以及路径的前 3 个字符是 F:\,长度为 3 而不是 4 的字符串。在 Python 字符串文字中,反斜杠将表示转义序列,因此 Python 也会转义它们。

关于python - 如何将双斜杠路径转换为 ​​open() 接受的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17970839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com