0

即使在 Windows 上,如何强制 Python/用作路径分隔符(for globos.path等)?

我试过os.sep = '/'但它不起作用:

import os, glob
os.sep = '/'
os.path.sep = '/'

for f in glob.glob('D:/Temp/**/*', recursive=True):
    print(f)
# D:/Temp\New folder
# D:/Temp\New Text Document.txt    

print(os.path.join('D:/', 'Temp', 'hello'))
# D:/Temp\hello

我想避免“黑客”,比如必须.replace('\\', '/')为每个路径添加,所以链接的问题,比如为什么不 os.path.join 使用 os.path.sep 或 os.sep?不要回答它。

我也试过:

import posixpath as path
print(path.normpath(path.join('D:\\Temp', 'hello')))
# D:\Temp/hello    # path.join has correctly use forward slashes

但这里\没有被/.

4

0 回答 0