Python 我怎样才能得到“我的”呢;行号“;在txt文件中有特定字符串的?

Python 我怎样才能得到“我的”呢;行号“;在txt文件中有特定字符串的?,python,Python,blues.txt aaaaaaaa bbbbbbbb 探戈:55 dddddddddd 我想把这个交给你 aaaaaaaa bbbbbbbb 探戈:5500 dddddddddd 我的Python书没有关于如何做到这一点的信息 f = open("blues.txt", 'r', encoding = 'utf') jool = f.readlines() find("tango") line(find) 您可以通过以下方式实现这一点: with open('blues.txt','r

blues.txt

aaaaaaaa
bbbbbbbb
探戈:55
dddddddddd

我想把这个交给你

aaaaaaaa
bbbbbbbb
探戈:5500
dddddddddd

我的Python书没有关于如何做到这一点的信息

f = open("blues.txt", 'r', encoding = 'utf')

jool = f.readlines()

find("tango")
line(find)


您可以通过以下方式实现这一点:

with open('blues.txt','r') as f:
    with open('out.txt','w') as out:
        for line in f:
            if 'tango' in line:
                out.write(line.replace('\n','00\n'))
            else:
                out.write(line)
输出:

aaaaaaaaaa
bbbbbbbbbb
tango:5500
dddddddddd
changed line 3
在遍历这些行时,如果该行包含单词“tango”,只需执行一个if语句即可处理所需的操作

如果要编辑行号(从1开始),请执行以下操作:

count=1
with open('blues.txt','r') as f:
    with open('out.txt','w') as out:
        for line in f:
            if 'tango' in line:
                out.write(line.replace('\n','00\n'))
                print('changed line '+str(count))
            else:
                out.write(line)
            count+=1
输出:

aaaaaaaaaa
bbbbbbbbbb
tango:5500
dddddddddd
changed line 3

您只需检测行中的子字符串,然后添加00并使用。join:

f=open(“blues.txt”,“r”,encoding=“utf”)
行=f.读行()
对于范围内的i(len(行)):
如果行[i]。查找(“探戈”)!=-1:
行[i]+=“00”
f、 接近
f=打开(“blues.txt”,“w”,encoding=“utf”)
f、 写入(行。连接(“\n”))

您的目标是找到带有tango一词的行,然后在该行后面加上'00'吗?是的,正是。太完美了!非常感谢你。祝福你。没问题。祝你好运,在你的蟒蛇冒险中,它工作得很完美,但我怎么知道那个“变更线路”的号码呢?像aaa…=1 bbb…=2和at tango…=“3”添加了一个编辑,使用这个方法(还有其他方法)你可以初始化一个反腐蚀Derek Eden,我在你发布答案的时候写了这个。我收到了这个消息,AttributeError:“\u io.TextIOWrapper”对象没有我意外放置的属性“open”。open代替=open,代码现在应该可以工作了