如何将字符串添加到特定行

Ram*_*tha 3 python linux

我有一个包含50行的文件.如何使用python/linux将字符串"-----"添加到特定行,如第20行?

Art*_*nka 5

你尝试过这样的事吗?:

exp = 20 # the line where text need to be added or exp that calculates it for ex %2

with open(filename, 'r') as f:
    lines = f.readlines()

with open(filename, 'w') as f:
    for i,line in enumerate(lines):
        if i == exp:
            f.write('------')
        f.write(line)
Run Code Online (Sandbox Code Playgroud)

如果您需要编辑差异行数,可以通过以下方式更新代码:

def update_file(filename, ln):
    with open(filename, 'r') as f:
        lines = f.readlines()

    with open(filename, 'w') as f:
        for idx,line in enumerate(lines):
            (idx in ln and f.write('------'))
            f.write(line)
Run Code Online (Sandbox Code Playgroud)