我看到在解析共享路径一些怪异的行为(在服务器上共享的路径,如\存储\编译)os.listdir等无法共享的Windows路径上(Python的2.5)
我读它包含目录的文本文件我想进一步处理的路径。为了做到这一点,我做如下:
def toWin(path):
return path.replace("\\", "\\\\")
for line in open(fileName):
l = toWin(line).strip()
if os.path.isdir(l):
print l # os.listdir(l) etc..
这适用于本地目录,但在共享系统上指定的路径失败。
e.g.
E:\Test -- works
\\StorageMachine\Test -- fails [internally converts to \\\\StorageMachine\\Test]
\\StorageMachine\Test\ -- fails [internally converts to \\\\StorageMachine\\Test\\]
但是,如果我打开python shell,导入脚本并调用具有相同路径字符串的函数,那么它的工作原理!
看来解析Windows共享路径在两种情况下的行为都不同。
任何意见/建议?
你的解释很可能是错误的。 os。*函数完全能够处理包含反斜杠的路径,只要您的操作系统能够解释它们即可。看到我自己的回答你的问题。 – 2010-01-25 16:45:08