2017-10-20 138 views
0

我想用os.path.join一个带有文件名的目录。该文件是二进制文件,没有扩展名。
结果总是喜欢:
'C:\\directory\\filename\n'
我想是当然的:
'C:\\directory\\filename'
没有最后反斜杠和n,即\n
我的代码是:用二进制文件名加入一个目录名

self.filePath = os.path.join(self.cwd, self.values[index]) 

我怎样才能得到想要的结果?

+0

你可以分享你的代码? – Mureinik

+0

你试图加入的二进制文件是否有换行符?如果你尝试 'os.path.join(basepath,binary.rstrip())' – CrazyArm

+0

不能重现:'os.path.join('c:\ path','foo')' - >''c :\\ path \\ foo'' – wwii

回答

1
s = 'C:\\directory\\filename\n' 
s2 = s[:-1] 
print(s2) 

导致:

'C:\\directory\\filename' 
+0

这是获得我想要的最快方式! 我也会考虑其他情况下的其他答案。 – philippos

+0

请考虑这是治疗症状,而不是确定问题的原因。你可能想看看为什么你的二进制值在它的最后有一个换行符。 – CrazyArm

0

这是与操作系统无关的使用os.sep像下面的一个有效方法:

import os 
filepath = os.path.join("C:", os.sep, "directory", "filename") 
print(filepath) 

输出

C:\directory\filename 
相关问题