我经常发现自己处于构建在不同操作系统上输出csv或其他文件的路径的情况。
因此,在构建路径时,我经常发现自己在做类似的事情:
if sys.platform == "win32":
slashes = "\\"
elif sys.platform == "linux" or sys.platform == "darwin":
slashes = "/"
else:
slashes= "ERROR"
然后我有类似的东西:
destinationpath = mypath + "slashes" + myfile.
是否有自动处理此方法的python方法,例如自动选择正确斜杠类型的预定义参数?
谢谢!
答案 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中正确指出要使用的内容。