我試圖逃離反斜槓,而是試圖瞭解這樣做Python的轉義反斜線
foo = r'C:\Users\test.doc'
正道上面正常工作
然而,當我想逃避存放的路徑在一個變量
例如:
parser.add_argument('-s', '--source', type = str, help = 'Source file path')
現在,如何在逃跑的價值 - args.source
我試圖逃離反斜槓,而是試圖瞭解這樣做Python的轉義反斜線
foo = r'C:\Users\test.doc'
正道上面正常工作
然而,當我想逃避存放的路徑在一個變量
例如:
parser.add_argument('-s', '--source', type = str, help = 'Source file path')
現在,如何在逃跑的價值 - args.source
所以在Python中有幾個轉義序列需要注意,它們主要是這些。
因此,當該文件位置的字符串由add_argument
方法可能不能被解釋爲一個原始字符串,就像你宣佈和將沒有辦法逃脫外的反斜槓解析宣言。
你可以做的是將其保留爲一個常規字符串(從字符串中除去'r'前綴)並在任何地方使用轉義字符作爲反斜線,否則可能與另一個轉義字符發生衝突案例\ t)。這可能工作,因爲該方法可能正確評估字符串。
嘗試像這樣聲明你的字符串。
foo = "C:\Users\\test.doc"
希望這有助於解決您的問題!
編輯:
爲了應對處理你也許可以做類似下面的動態文件的位置!
def clean(s):
s = s.replace("\t", "\\t")
s = s.replace("\n", "\\n")
return s
直到你已經覆蓋了你可能需要使用的位置的所有基地!此解決方案可能更適合您的需求。這很有趣,我從來沒有想過這樣做。希望這有助於!
我得到的路徑是動態的,所以我需要某種函數來處理這個問題。 – user4723845
我認爲從外部來源的字符是字面上的。 – TigerhawkT3
是的,但我想逃避它。或者我得到一個錯誤沒有這樣的文件或目錄:'C:\\ Users \\ test.doc – user4723845
這是追溯看起來如何? –