python怎样禁止对一个字符串变量进行转义解析?

python中,一个路径:
str_path = 'd:\new\f.txt'
此时,file = open(str_path)会报错,因为str_path被转义解析,文件路径就不存在了.
为了防止被转义,使用r来表示字符串:
str_path = r'd:\new\f.txt'
但是,如果预先不知道str_path的字符串字面量的值,怎么才能禁止str_path这个变量被python强制的进行转义解析呢?
也就是怎么禁止对字符串变量进行转义呢?
比如,我从程序的配置文件读到一个文件的路径,字面值:d:new\f.txt
存入变量str_path.
那么这个变量读入后,python内容自动转义.
转义后,这个字符串显然就不再是文件路径了!
我的意思是,怎么不让python对str_path这个变量指向的字符串转义?

阅读 17k
4 个回答

转义只发生在代码字面量转换为python内部对象的过程中。
已经是字符串了,则不会再次转义。


比如,我从程序的配置文件读到一个文件的路径,字面值:d:newf.txt
存入变量str_path.
那么这个变量读入后,python内容自动转义.
转义后,这个字符串显然就不再是文件路径了!

楼主,你知道什么是字面量吗?

变量读入后,python内容自动转义.

这句话你写了程序验证过吗?

答案看楼顶~

新手上路,请多包涵

都加个r不行吗

你这个问题提的就有问题,你不是想禁止字符串转义,而是想把会发生转义的字符串变成他的字面形式,实际上这一步就是转义

我建议你试试repr()这个方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题