我試圖打印一個包含雙反斜槓(一個轉義另一個)的字符串,以便只打印其中一個反斜槓。我認爲這會自動發生,但我必須錯過一些細節。用單個反斜槓替換字符串文字中的雙反斜槓
我有這個小片段:
for path in self.tokenized:
pdb.set_trace()
print(self.tokenized[path])
當我與pdb.set_trace()
調試我可以看到我的琴絃有雙反斜線,然後我輸入繼續打印剩餘部分,且它打印同樣的事情。
> /home/kendall/Development/path-parser/tokenize_custom.py(82)print_tokens()
-> print(self.tokenized[path])
(Pdb) self.tokenized[path]
['c:', '\\home', '\\kendall', '\\Desktop', '\\home\\kendall\\Desktop']
(Pdb) c
['c:', '\\home', '\\kendall', '\\Desktop', '\\home\\kendall\\Desktop']
請注意,我正在編寫一個解析器來分析Windows文件路徑 - 因此是反斜槓。
這是什麼樣子來運行程序:
[email protected]:~/Development/path-parser$ python main.py -f c:\\home\\kendall\\Desktop
使用''打印代替。現在,你的字符串不是'print'' – inspectorG4dget
..而是嵌套在列表中的字符串,你會得到'repr(string)',它有反斜槓轉義。 – dhke
@ inspectorG4dget是否有一種乾淨的方式來添加方括號,就好像它是一個列表 –