为了账号安全,请及时绑定邮箱和手机立即绑定

Replace() 方法在函数内不起作用

Replace() 方法在函数内不起作用

紫衣仙女 2021-11-30 19:27:02
我正在制作一个函数,它接受一个纯文本文件,然后返回该文件中的单词列表。显然,我想去掉任何换行符 '\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', '')


查看完整回答
反对 回复 2021-11-30
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

您当前文本替换的问题在于它\被视为转义字符 - 文字字符\n被解释为换行符。解决这个问题的方法是转义\字符本身,通过\\. 您更新后的替换语句将变为:

a = message.replace('\\n', '')

代替:

a = message.replace('\n', '')


查看完整回答
反对 回复 2021-11-30
  • 2 回答
  • 0 关注
  • 479 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信