我正在制作一个函数,它接受一个纯文本文件,然后返回该文件中的单词列表。显然,我想去掉任何换行符 '\n',但是,当使用 '.replace()' 时什么也没有发生。功能:textfile = 'name.txt'def read_words(filename): f = open(filename,'r') message = f.read() a = message.replace('\n', '') wordlist = a.split(' ') print(wordlist)read_words(textfile)示例txt:This\n\nis\n\n\na\n\n\nmy\n\nwfile with spaces and blanks我的输出:['This\\n\\nis\\n\\n\\na\\n\\n\\nmy\\n\\nwfile', 'with', 'spaces', 'and', 'blanks']为什么“.replace()”方法不起作用?
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
这可能是 python 或其他一些编程语言将新行读取为 '\n' 转义字符的情况。因此,当 python 读取您的文件时,'\n' 表示换行,'\\n' 表示您在文本文件中写入的实际 '\n' 字符。
所以你需要更换像 a = message.replace('\\n', '')
开心每一天1111
TA贡献1836条经验 获得超13个赞
您当前文本替换的问题在于它\
被视为转义字符 - 文字字符\n
被解释为换行符。解决这个问题的方法是转义\
字符本身,通过\\
. 您更新后的替换语句将变为:
a = message.replace('\\n', '')
代替:
a = message.replace('\n', '')
添加回答
举报
0/150
提交
取消