2017-10-20 134 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 
相關問題