繁体   English   中英

python:替换文件中的多个单词

python : replace mutiple words in a file

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个文件apple.py ,它的单词是appleApple 并且有一个空白文件pear.py

我想读取apple.py的内容并将其写入pear.py并进行修改
applepearApplePear

我这样做是这样的:

def modify_city():
    with open('city.py', 'r+') as f:
        read_data = f.read()
    with open('beijing', 'w') as f:
        f.write(read_data.replace('city', 'beijing'))  #it works
        f.write(read_data.replace('City', 'Beijing'))  #it doesn't work

题:
在代码中,第一个replace()有效,但是第二个replace()不起作用。我该怎么办?

2 个回复

您将整个read_data写入文件两次。

read_data = read_data.replace('city','beijing')
read_data = read_data.replace('City','Beijing')
f.write(read_data)

您的代码无法正常工作的原因是:

  1. 您将整个数据写入文件两次。
  2. str.replace() 返回替换完成的字符串,而不更改原始字符串。 通过做

     f.write(read_data.replace('city', 'beijing')) 

    第一次,您将打印到文件read_data并替换为'city''beijing'没有将更改保存到read_data 第二次当你做

     f.write(read_data.replace('City', 'Beijing')) 

    之前的替换未保存,因此导致替换了原始字符串。

话虽这么说,您有两种选择:

def modify_city():
    with open('city.py', 'r+') as f:
        read_data = f.read()
    with open('beijing.py', 'w') as f:
        f.write(read_data.replace('city', 'beijing').replace('City', 'Beijing'))

要么

def modify_city():
    with open('city.py', 'r+') as f:
        read_data = f.read()
    read_data = read_data.replace('city', 'beijing')
    read_data = read_data.replace('City', 'Beijing')
    with open('beijing.py', 'w') as f:
        f.write(read_data)
1 python:用其他文件中的单词替换文件中的单词

我有一个很大的文本文件,其中有一些我想替换的单词。 我将这些单词放入一个csv文件中,因为我不断添加和更改单词,并且不想将这些单词放在python脚本本身中。 在每一行上都有一个我要替换的单词,然后是我要替换为的单词。 像这样: 我知道如何使用字符串替换功能用python替换文件中 ...

2 如何在python中的csv文件中识别和替换单词

我有两个CSV文件,一个包含缩写词的句子,另一个是缩写词及其扩展名的列表。 我想在第一个CSV文件中标识每个缩写,并用其扩展名替换它。 此CSV文件的外观如下: 第一个文件样本: 虚拟学术 副总裁财务和行政 vp学术和学生事务 vp公司服务和外部关系。 ... ...

3 在xml文件中使用python替换多个单词

我需要替换远程XML文件中的一些单词。 我设法使用第一行更改了“ HD”,但是其余几行似乎被跳过到了“ if语句”。 我要去哪里错了? 编辑: 根据要求提供源XML。 ...

4 从python中的文件替换一行中的单词

我正在尝试替换具有多行代码的文件中的某些单词。 下面是我编写的代码。 请注意,我仍在学习python。 如果我是通过直接阅读一行来替换的,那么它只会替换所有单词中的一个单词。 在我的系统中通常是“ the”。 因此,我想拆分并寻找单词,然后替换它。 但是我得到以下错误: ...

5 在文件python中查找并替换多个单词

我从这里拿了示例代码。 但我无法弄清楚如何用相应的新词替换多个词。 在这个例子中,如果我想找到一些像(old_text1,old_text2,old_text3,old_text4)并替换为各自的新词(new_text1,new_text2,new_text3,new_text4) 。 提前致 ...

6 循环遍历 csv 文件中的单词并在 python 中替换

我有一个包含三列的 csv 文件,即 (cid,ccontent,value) 。 我想遍历 ccontent 列中的每个单词并单独翻译这些单词。 我找到了这个用于翻译行的代码,但我想翻译每个单词而不是行。 如何在 Python 中编写一个函数,将 csv 的每一行转换为另一种语言? 谢谢 ...

7 文件中多个单词/值的总出现次数

我有一个包含大量文本的文件。 我正在阅读此文件,并打算打印出引用圣经段落的次数,并以“经文”开头的一行注明。 然后,我想打印出引用,然后打印出现次数。 示例文件: 结果应该是这样的: 我正在用字典制作key:value of reference:occurrences。 ...

8 用不同的单词替换文本文件中的单词(python)[复制]

这个问题在这里已有答案: 变量没有在python 3答案中 定义 我试图用英文单词替换文本文件中的单词(有点像翻译)。 但是,我得到错误builtins.NameError:未定义名称'contents' 。 如果您需要知道,文本文件是由逗号分隔的字符串列表(中 ...

9 如何替换用Python读取其他文件的文件列中的单词?

我在第二列中有一个包含某些医院名称的数据文件。 如果名称与其他文件中提到的模式匹配,则需要用替换文件中的值替换该值。 以下是文件格式的详细信息 输入文件: SourceID |医院名称|城市|国家1 | ABC医院|德里|印度2 | XYZ医院|浦那|印度3 |医院|孟买|印度4 | 123医 ...

10 Python:使用其他令牌文件替换源文本文件中的单词

我正在尝试替换引用令牌文件联系详细信息的源文件中的单词,以用新单词替换旧单词。 数据已被替换,但是代码同时提供了原始数据和转换后的数据。 有人可以帮忙解决这个问题。 以下是详细信息 输入文件布局: 令牌文件布局: 电流输出: 预期产量: 使用的代码: ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM