我试图在给定目录路径的末尾添加文件分隔符。但是os.path.join没有附加所需的分隔符。
我试过下面的代码。考虑directoryPath =//TEAM/PATH_1/PATH_2/2018年8月至06年
os.path.join(directoryPath, "")但是它给出的输出是
//TEAM/PATH_1/PATH_2/2018-8月-06\
所以我尝试了下面的代码。
if(len(directoryPath.split("/")) >= 1):
return os.path.join(directoryPath, "/")
else:
return os.path.join(directoryPath, "\\")对于这个输出是
//团队/路径_1/
有人能指点我正确的方式追加文件分离器在最后。
发布于 2018-12-24 09:26:27
os.path.join将为运行程序的操作系统使用分隔符(通过os.sep变量访问)。
如果您想要的是独立于程序运行的操作系统重用现有变量(directoryPath)中的分隔符,那么根本不应该依赖os包--只需将字符串附加到路径中即可。
发布于 2018-12-24 09:32:42
os.path.join自动使用对应的OS路径分隔符。
如果您打算在windows中运行您的命令,但希望使用/斜杠分隔符,只需replace即可。即
os.path.join(directoryPath, '').replace('\\', '/') 发布于 2018-12-24 09:29:30
为什么不直接在字符串的末尾加一个斜杠呢?
>>> directoryPath = '//TEAM/PATH_1/PATH_2/2018-Aug-06'
>>> directoryPath += '/'
>>> directoryPath
'//TEAM/PATH_1/PATH_2/2018-Aug-06/'https://stackoverflow.com/questions/53910040
复制相似问题