1

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

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

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

然后我有类似的东西:

destinationpath = mypath + "slashes" + myfile.

是否有一种 python 方法可以自动处理这个问题,例如自动选择正确斜杠类型的预定义参数?

谢谢!

4

2 回答 2

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'
于 2013-11-05T05:30:20.560 回答
1

很简单,只需执行以下操作

import os
slashes = os.sep

虽然,您应该使用os.path.join()而不是自己玩路径字符串。正如 Russel 在这个答案中正确指出的那样,内置函数知道要使用什么。

于 2013-11-05T04:38:31.633 回答