python基于操作系统的不同斜杠

时间:2013-11-05 04:36:43

标签: python

我经常发现自己处于构建在不同操作系统上输出csv或其他文件的路径的情况。

因此,在构建路径时,我经常发现自己在做类似的事情:

if sys.platform == "win32":
    slashes = "\\"
elif sys.platform == "linux" or sys.platform == "darwin":
    slashes = "/"
else:
    slashes= "ERROR"

然后我有类似的东西:

destinationpath = mypath + "slashes" + myfile.

是否有自动处理此方法的python方法,例如自动选择正确斜杠类型的预定义参数?

谢谢!

2 个答案:

答案 0 :(得分:2)

对文件名的组件使用os.path.join();它知道是否使用正斜杠或反斜杠。

>>> mypath = "foo"
>>> myfile = "bar.ext"
>>> os.path.join( mypath, myfile) 
'foo/bar.ext'
>>> os.path.join( "many", "path", "components", "beforethefile.ext" )
'many/path/components/beforethefile.ext'

答案 1 :(得分:0)

简单,只需执行以下操作

import os
slashes = os.sep

虽然,您应该使用os.path.join()而不是自己使用路径字符串。内置者知道Russel在this answer中正确指出要使用的内容。