我想將從命令窗口讀取的路徑名轉換爲文件名。 例如,轉換C:\ TEMP \文件\臨時文件到臨時文件最後剝離「」
我試圖做一些喜歡 -
filename=tempfilename.lstrip('\') #this gave me an error
filename=tempfilename.lstrip('\\') #and this did nothing
我在做什麼錯? 感謝您的幫助!
我想將從命令窗口讀取的路徑名轉換爲文件名。 例如,轉換C:\ TEMP \文件\臨時文件到臨時文件最後剝離「」
我試圖做一些喜歡 -
filename=tempfilename.lstrip('\') #this gave me an error
filename=tempfilename.lstrip('\\') #and this did nothing
我在做什麼錯? 感謝您的幫助!
在Python中,與其他大多數語言一樣,字符串可以包含反斜線轉義的字符序列,因此您需要編寫'\\'
(=代表一個單獨的反斜槓),而不是'\'
。
二,沒有方法叫做listrip
。對於最後的剝離,您顯然需要使用rstrip
,而不是lstrip
。您可以使用os.path.basename
。
與替換 '\' '\\',它應該工作:)
或者是您確信你將永遠有一個 '\' 來刪除,
filename = tempfilename[:-1]
編輯: oops。真的沒有讀過q。 tempfilename.split()[-1]
?
我的拳頭回答回答稱號,並與strip
建議適合的,但在實際的問題,它 說:
例如,轉換C:\ TEMP \文件\臨時文件到臨時文件
。 ...
lstrip()
刪除主要字符。也就是說,它會將\\\\\a\b\c\
轉換爲a\b\c\
。這不是你想要的。使用os.path.basename()
。
我不是Python專家,但也許\是一個轉義字符。請嘗試\\。你也可以重新檢查lstrip是否符合你的想法。 – 2011-02-11 18:02:21
@Jonas:不,這是無效的。所有原始字符串都是,不會評估轉義序列。 `r'\'`是一個錯誤(你逃避了最後的引號),但'r'\\'`是字符串「\\」。 – Blixt 2011-02-11 18:07:53
@Blixt:你是對的。 – 2011-02-12 16:35:09