Python 将目录名与二进制文件名联接

Python 将目录名与二进制文件名联接,python,directory,Python,Directory,我想要os.path.join一个具有文件名的目录。该文件是二进制文件,没有扩展名。 结果总是这样: 'C:\\directory\\filename\n' 我想要的当然是: 'C:\\directory\\filename' 没有最后一个反斜杠和n,即。\n。 我的代码是: self.filePath = os.path.join(self.cwd, self.values[index]) 我怎样才能得到想要的结果 s = 'C:\\directory\\filename\n' s2 = s

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

self.filePath = os.path.join(self.cwd, self.values[index])
我怎样才能得到想要的结果

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

'C:\\directory\\filename'

独立于操作系统的一种有效方法是使用os.sep,如下所示:

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

C:\directory\filename

你能分享你的代码吗?你要加入的二进制文件后面有换行符吗?如果您尝试os.path.joinbasepath,binary.rstrip无法复制:os.path.join'c:\path',foo'->'c:\\path\\foo'printreprbinary的输出是什么样子?@Mureinik我更新了我的问题以包含代码。这是达到我想要的目的的最快方法!我也会考虑其他问题的其他答案,认为这是治疗症状,而不是找出问题的原因。您可能想了解为什么二进制值的末尾有一个换行符。