簡體   English   中英

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

[英]Append String to each line of .txt file in python?

我想在文件的每一行附加一些文本

這是我的代碼

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)

假設您可以在內存中加載全文,您可以逐行打開文件,並為每一行添加“#”。 然后保存:-):

with open(filepath, 'r') as f:     # load file
    lines = f.read().splitlines()  # read lines

with open('new_file.txt', 'w') as f: 
    f.write('\n'.join([line + '#' for line in lines]))  # write lines with '#' appended

我假設文件足夠小,可以在內存中保留兩份副本:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM