我们有一个名为‘ext.txt’的文本文件,其中有一些字符串(诗写在多行中).我们还有一个列表=[‘驴’,‘他’,‘我’.这些项目存在于文本文件中的字符串中.现在我想用‘#’替换字符串中的上述项目?

其中OPEN("ext.txt","r")为f: your textread=f.read() your textx=[‘驴子’,‘他’,‘我’] your text`words=read.split() 你的文本for item in x: 你的文本for i in words: 你的文本if item == i: 你的文本new=read.replace(i,'####') with open("text.txt","w") as g: 你的文本``WRITE=g.WRITE(新) your text打印(写入)

结果:-程序执行时没有任何错误.

#f#有一头驴 他不会go 的, #会打击他吗? 不,不,不.

would find a little hay

给他一些玉米, 那他就是最好的驴子 所有出生的人..

我使用了Split()函数来迭代单词‘if’中仍然是‘i’的单词,只有列表中的i被替换,而不是列表中的其他项.

预期结果:-

如果#有一个# #不会go , #会打击他吗? 不,不,不. 我会找到一点干草 给他一些玉米, 那么#将是最好的# 曾经出生过的人.

对于同样的问题,什么可能是最好的解决方案?我们只能使用文件IO功能替换一次项目吗?

推荐答案

以下是我会做的事情:

replacer = [ 'donkey','he','i']

f = open("text.txt", "r")
x = f.readlines()
f.close()
rewrite = []
for i in x:
    line = i.split()
    rline = ''
    for j in line:
        if j.lower() in replacer:
            rline += "#### "
        else:
            rline += j+" "
    rewrite.append(rline + "\n")

f = open("text.txt", "w")
f.writelines(rewrite)


可能有更好的方法,但这种方法效果很好
如果您愿意,可以要求对任何您不理解的行进行解释

Python-3.x相关问答推荐

math. gcd背后的算法是什么,为什么它是更快的欧几里得算法?

我的SELECT函数搜索的是列,而不是列中的数据.我怎么才能让它搜索数据呢?

Python避免捕获特定异常

将字符串转换为python日期时间时出错

我不能使用拆分来分隔数据

在 Python 中比较和排序列之间的值(带有不匹配列)

嵌套协议的使用(协议成员也是协议)

使用 python 查找标记的元素

裁剪复数以解决 exp 中的溢出错误

使用 RANSAC 在激光雷达点云中查找电力线

Pandas 将列格式化为货币

smtplib 在 Python 3.1 中发送带有 unicode 字符的邮件的问题

日志(log)模块不适用于 Python3

为什么包含类的名称不被识别为返回值函数注释?

numpy.ndarray 与 pandas.DataFrame

导入 python 模块而不实际执行它

谁能给我一个 Python 3 中标准输入和标准输出的快速教程?

新项目:Python 2 还是 Python 3?

将 Python SIGINT 重置为默认信号处理程序

通过字典有效地替换Pandas 系列中的值