要实现的目标:将原字符串赋值到变量再转为目标字符串
原字符串: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即为得到的目标字符串