如何循环遍历所有文件子目录并添加pupulate找到的文件中的文件python

问题描述 投票:0回答:1

我正在寻找具有特定名称且其中包含特定文本的文件,并将特定文本添加为特定行。

我希望我想要实现的目标是有意义的。

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)
python
1个回答
0
投票

你基本上是对的。唯一的问题是

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')
© www.soinside.com 2019 - 2024. All rights reserved.