Python 3中的路径分隔符

时间:2012-11-12 02:12:03

标签: python python-3.x

我有两个字符串:

C:\Data

和另一个文件夹

Foo1

我需要,Windows输出是

C:\Data\Foo1

和Linux输出

/data/foo1

假设/ data在linux中。是否有可以在Python中使用的常量分隔符,这使得它易于使用而不考虑底层操作系统?

3 个答案:

答案 0 :(得分:13)

是的,python提供os.sep,这是该角色,但出于您的目的,函数os.path.join()正是您所寻找的。

>>> 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转义序列...而且它们可能是令人头疼的问题。将来