繁体   English   中英

在python中搜索特定单词后,将一个单词添加到文本文件中

[英]Append a text word into a text file after searching for specific word in python

我想阅读一个文本文件,想要一个特定的词,然后在其旁边附加其他一些词。

例如:

我想在像John这样的文件中找到名字,然后在像John Smith这样的“ John”后面加上姓氏。

这是我到目前为止编写的代码。

usrinp = input("Enter name: ")

lines = []
with open('names.txt','rt') as in_file:
    for line in in_file:
        lines.append(line.rstrip('\n'))



    for element in lines:
        if usrinp in element is not -1:
            print(lines[0]+" Smith")
        print(element)

那就是文本文件的样子:

My name is FirstName
My name is FirstName
My name is FirstName
FirstName is a asp developer
Java developer is FirstName
FirstName is a python developer
search_string = 'john'
file_content = open(file_path,'r+')
lines = []
flag = 0
for line in file_content:
    line = line.lower()
    stripped_line = line
    if search_string in line:
        flag = 1
        stripped_line = line.strip('\n')+' '+'smith \n'    
    lines.append(stripped_line)
file_content.close()
if(flag == 1):
    file_content = open(file_path,'w')
    file_content.writelines(lines)
    file_content.close()

**OUTPUT**

My name is FirstName

My name is FirstName

My name is FirstName

FirstName is a asp developer

Java developer is john smith

FirstName is a developer 

使用replace是一种方法。

输入文件(names.txt):

My name is John
My name is John
My name is John
John is a asp developer
Java developer is John
John is a python developer

脚本:

name = 'John'
last_name = 'Smith'

with open('names.txt','r') as names_file:
    content = names_file.read()
    new = content.replace(name, ' '.join([name, last_name]))

with open('new_names.txt','w') as new_names_file:
    new_names_file.write(new)

输出文件(new_names.txt):

My name is John Smith
My name is John Smith
My name is John Smith
John Smith is a asp developer
Java developer is John Smith
John Smith is a python developer

暂无
暂无

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

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