我正在寻找具有特定名称且其中包含特定文本的文件,并将特定文本添加为特定行。
我希望我想要实现的目标是有意义的。
from pathlib import Path
filesDir="D:/OneDrive/Desktop/testpy/"
for file in Path(filesDir).rglob('*.ini'):
with file.open as in_file:
buf = in_file.readlines()
with file.open as out_file:
for line in buf:
if line == "sometext":
line = line + "mytext"
out_file.write(line)
你基本上是对的。唯一的问题是
line
末尾有换行符,需要在比较之前将其删除,然后在写入之前将其添加回来。
另外,
open
是一个函数,调用时需要括号。
from pathlib import Path
filesDir="D:/OneDrive/Desktop/testpy/"
for file in Path(filesDir).rglob('*.ini'):
with file.open() as in_file:
buf = in_file.readlines()
with file.open('w') as out_file:
for line in buf:
line = line.rstrip('\n')
if line == "sometext":
line = line + "mytext"
out_file.write(line + '\n')