python關於防止轉義
要實現的目標:將原字符串賦值到變量再轉為目標字符串
原字符串:D:\bc\other\Java\Java視頻教程\1-2 -面向對象和封裝
目標字符串:D:/bc/other/Java/Java視頻教程/1-2 -面向對象和封裝
用途:把用戶直接復制黏貼輸入的文件路徑(原字符串)存到變量,轉換成目標字符串進行文件的相關操作。
因為原字符串中有/會使發生轉義,所以想着要先防止轉義,如果是已經定義好的原始文件路徑(原字符串),可以用r""防止轉義。
path=r"D:\bc\other\Java\Java視頻教程\1-2 -面向對象和封裝"
new_path=path.replace("\\",'/')
print(new_path) #可以正確得到目標字符串
但這是已經定義好的,不是用戶輸入的,而獲取用戶輸入的字符串存到變量后卻不能把這個變量放在r""里面而發生轉義,無法進行操作。
然后跳到這個坑了,想着要怎么才能把變量放到r""里面防止轉義。其實獲取用戶輸入的字符串后並不用放到r""里面防止轉義,因為用戶輸入的字符串是在控制台輸入或者gui程序中輸入的,在這種情況下,字符串不會被轉義。
控制台獲取用戶輸入:
path = input() #這樣獲取的原始的字符串里有/也不會發生轉義
new_path=path.replace("\\",'/')
print(new_path) #可以正確得到目標字符串
tkinter的gui程序中使用entry輸入框獲取用戶輸入的字符串:
e = tk.Entry(window, show=None)
path = (e.get()).replace("\\",'/') #path即為得到的目標字符串