在python中将字符串附加到.txt文件的每一行?

在python中将字符串附加到.txt文件的每一行?,python,python-3.6,readline,Python,Python 3.6,Readline,我想在文件中的每一行都添加一些文本 这是我的密码 filepath = 'hole.txt' with open(filepath) as fp: line = fp.readline() cnt = 1 while line: #.......... #want to append text "#" in every line by reading line by line text from .txt file

我想在文件中的每一行都添加一些文本

这是我的密码

filepath = 'hole.txt'
with open(filepath) as fp:
    line = fp.readline()
    cnt = 1
    while line:
        #..........
        #want to append text "#" in every line by reading line by line 
        text from .txt file
        line = fp.readline()
        cnt += 1

您可以阅读这些行并将它们放入列表中。然后,以写入模式打开同一文件,并用要追加的字符串写入每一行

filepath = "hole.txt"
with open(filepath) as fp:
    lines = fp.read().splitlines()
with open(filepath, "w") as fp:
    for line in lines:
        print(line + "#", file=fp)

假设可以在内存中加载全文,则可以打开文件,按行拆分,并为每行添加“#”。然后保存:-):


我假设该文件足够小,可以在内存中保存两个副本:

filepath = 'hole.txt'
with open(filepath, 'r') as f:
    original_lines = f.readlines()

new_lines = [line.strip() + "#\n" for line in original_lines]

with open(filepath, 'w') as f:
    f.writelines(new_lines)
首先,我们打开文件并将所有行读取到列表中。然后,通过
strip()
从每一行中删除行终止符,然后添加一些额外的文本和一个新的行终止符,生成一个新列表

然后,最后一行用新的、修改过的行覆盖文件。

这有帮助吗

inputFile = "path-to-input-file/a.txt"
outputFile = "path-to-output-file/b.txt"
stringToAPpend = "#"

with open(inputFile, 'r') as inFile, open(outputFile, 'w') as outFile:
    for line in inFile:
        outFile.write(stringToAPpend+line)

有帮助吗?你的数据有多大?每个文件都有将近500行。请解释一下,这样我才能改进我的答案。(这里也是一样)。很高兴在
print()
方法中了解到
file=fp
。工作。我让它以我的方式工作。。。真的很好。谢谢你的工作。:)但是我想要的是,我想要在一个以前创建的文件中做这样的事情。意思是说你想在旧创建的文件中追加。所以你想替换原始文件,而不是创建新文件,对吗?是的,我知道了。尝试了您提供的代码片段,并根据我的工作对其进行了修改。非常感谢您的帮助。:)
inputFile = "path-to-input-file/a.txt"
outputFile = "path-to-output-file/b.txt"
stringToAPpend = "#"

with open(inputFile, 'r') as inFile, open(outputFile, 'w') as outFile:
    for line in inFile:
        outFile.write(stringToAPpend+line)