2012-11-21 87 views
1

我在Windows中使用包含括號的文件,該文件在外部進程中需要引號。Python:分割包含雙引號的路徑字符串

我想操縱的位置,但作爲字符串正在與引號傳遞,當我使用os.path.split,雙引號也被拆分。有沒有更好的方法來做到這一點,以便我不需要對輸入字符串和條進行檢查和/或替換雙引號?我將加入文件名到一個沒有雙引號的新路徑。

fileWithPath = r'"C:\TEMP\my(file).txt"' 
... do some stuff ... 
sourcepath, filename = os.path.split(fileWithPath) 

源路徑都有價值: ' 「C:\ TEMP'

文件名有值: '我的(文件).TXT」'

+0

帶鋼有什麼問題?無論如何,你已經開始「做一些事情」了。 '>>> fileWithPath.strip(''')' – kreativitea

+0

沒什麼問題,我對Python比較新,希望能找到最好的方法。 –

+1

'.strip'很容易就是最好的方法。:) – kreativitea

回答

3

,想到的第一件事就是核彈雙引號是窗口爲您提供:

firsWithPath = fileWithPath.replace('"', '') 

但是,如果你想保留一些報價和核彈只有一個兩端的人,那麼你有更好:

firsWithPath = fileWithPath.strip('"') 

任一操作後,就分裂'\\'應該只是罰款

編輯

由於@jdi提到的意見,你真的應該對os.path.sep分割而非'\\'便攜

+5

I會推薦使用'os.path.split'而不是「\\」上的字符串分割。它更加便攜.Windows路徑在python中支持「/」。 – jdi

相關問題