我有两个字符串:
C:\Data
和另一个文件夹
Foo1
我需要,Windows输出是
C:\Data\Foo1
和Linux输出
/data/foo1
假设/ data在linux中。是否有可以在Python中使用的常量分隔符,这使得它易于使用而不考虑底层操作系统?
答案 0 :(得分:13)
是的,python提供os.sep
,这是该角色,但出于您的目的,函数os.path.join()
正是您所寻找的。 p>
>>> os.path.join("data", "foo1")
"data/foo1"
答案 1 :(得分:4)
os.path.normpath()将为Linux和Windows正确规范化路径。仅供参考,Windows操作系统调用可以使用斜杠,但应显示给标准化的用户。
答案 2 :(得分:1)
os.path.join()
总是更好。正如Mark Tolonen所写的(我的+1给他),你也可以为Windows使用普通斜杠,如果你必须明确地编写路径,你应该更喜欢这种方式。你应该避免在Python中使用路径的反斜杠。或者你必须在字符串中加倍它们,否则你必须使用r'raw strings'
来抑制反斜杠解释。否则,'c:\for\a_path\like\this'
实际上包含您在撰写本文时可能没有注意到的\f
,\a
和\t
转义序列...而且它们可能是令人头疼的问题。将来