gpt4 book ai didi

python - Windows 上奇怪的路径分隔符

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

我正在运行这段代码:

#!/usr/bin/python      coding=utf8
# test.py = to demo fault
def loadFile(path):
f = open(path,'r')
text = f.read()
return text
if __name__ == '__main__':
path = 'D:\work\Kindle\srcs\test1.html'
document = loadFile(path)
print len(document)

它给了我一个引用

D:\work\Kindle\Tests>python.exe test.py
Traceback (most recent call last):
File "test.py", line 11, in <module>
document = loadFile(path)
File "test.py", line 5, in loadFile
f = open(path,'r')
IOError: [Errno 22] invalid mode ('r') or filename: 'D:\\work\\Kindle\\srcs\test1.html'

D:\work\Kindle\Tests>

如果我将路径行更改为

path = 'D:\work\Kindle\srcs\\test1.html'

(注意双\\)一切正常。

为什么?分隔符要么是“\”,要么不是,不是混合?

系统。 Windows 7、64 位、Win32 上的 Python 2.7(r27:82525,2010 年 7 月 4 日,09:01:59)[MSC v.1500 32 位(英特尔)]

检查 - 所有反斜杠都正确显示。

最佳答案

当下一个字符组合产生特殊含义时,反斜杠是转义字符。举以下例子:

>>> '\r'
'\r'
>>> '\n'
'\n'
>>> '\b'
'\x08'
>>> '\c'
'\\c'
>>>

r、n 和 b 在前面加上反斜杠时都具有特殊含义。 t 也是如此,它会产生一个制表符。您要么需要 A. 为了保持一致性,将所有反斜杠加倍,因为 '\\' 会产生反斜杠,或者 B,使用原始字符串:r'c:\path\to\my\file.txt'。前面的 r 将提示解释器不要将反斜杠评估为转义序列,从而防止 \t 显示为制表符。

关于python - Windows 上奇怪的路径分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928789/

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