即使在 Windows 上,如何强制 Python/
用作路径分隔符(for glob
、os.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
但这里\
没有被/
.