Python 3.x 有没有办法从文件中读取转义字符并正确处理它们
我试图写一个代码,对一些文件进行一些数据处理。我已经编写了将文件拆分为段落的逻辑。目前,我正在使用“\n\r”进行拆分。我想读取文件中的拆分条件,以便在将来需要时可以轻松地更改它们。但是,我从文件中读取的“\n\r”的行为与我希望的不一样 我在一个文件中写入了\n\r,当我读取它时,它与分配给'\n\r'的变量不同Python 3.x 有没有办法从文件中读取转义字符并正确处理它们,python-3.x,Python 3.x,我试图写一个代码,对一些文件进行一些数据处理。我已经编写了将文件拆分为段落的逻辑。目前,我正在使用“\n\r”进行拆分。我想读取文件中的拆分条件,以便在将来需要时可以轻松地更改它们。但是,我从文件中读取的“\n\r”的行为与我希望的不一样 我在一个文件中写入了\n\r,当我读取它时,它与分配给'\n\r'的变量不同 >>> vr = '\n\r' >>> from_file = open('test.txt').read() >>> prin
>>> vr = '\n\r'
>>> from_file = open('test.txt').read()
>>> print (vr)
>>> print (from_file)
\n\r
>>> print (len(vr))
2
>>> print (len(from_file))
4
那么,如何将从文件中读取的内容转换为普通的python字符串呢
谢谢您要做的是解析读入的字符串,并将特殊的字符序列转换为难以键入的字符 解析,写得很大,可能是一个非常复杂的话题。如果您只想替换反斜杠转义符,则可以执行简单的字符串替换:
from_file = from_file.replace("\\r", "\r")
from_file = from_file.replace("\\n", "\n")
from_file = from_file.replace("\\t", "\t")
...
from_file = from_file.replace("\\\\", "\") # always last
这很幼稚,但符合您的要求。您是否真的写了“\”后接“n”后接“\”后接“r”-或“\n\r”?(不一样)前者是四个字符,后者是两个字符。