Ich muss eine Textdatei öffnen und dann am Ende jeder Zeile eine Zeichenfolge hinzufügen.Python Hinzufügen einer Zeichenfolge zu jeder Zeile in einer Datei
Bisher:
appendlist = open(sys.argv[1], "r").read()
Ich muss eine Textdatei öffnen und dann am Ende jeder Zeile eine Zeichenfolge hinzufügen.Python Hinzufügen einer Zeichenfolge zu jeder Zeile in einer Datei
Bisher:
appendlist = open(sys.argv[1], "r").read()
s = '123'
with open('out', 'w') as out_file:
with open('in', 'r') as in_file:
for line in in_file:
out_file.write(line.rstrip('\n') + s + '\n')
geändert entsprechend, danke –
Ich habe dies versucht und anstatt die Zeichenfolge fügt es in eine andere Zeile. Bitte beachten Sie, dass in der Zeile eine IP steht. Also sollte es 127.0.0.1 string statt 127.0.0.1 (return/enter) string sein. – Pcntl
rechts, undatiert nochmal –
def add_str_to_lines(f_name, str_to_add):
with open(f_name, "r") as f:
lines = f.readlines()
for index, line in enumerate(lines):
lines[index] = line.strip() + str_to_add + "\n"
with open(f_name, "w") as f:
for line in lines:
f.write(line)
if __name__ == "__main__":
str_to_add = " foo"
f_name = "test"
add_str_to_lines(f_name=f_name, str_to_add=str_to_add)
with open(f_name, "r") as f:
print(f.read())
Denken Sie daran, die +
Operator Strings zu komponieren ist langsam. Fügen Sie stattdessen Listen hinzu.
output = ""
file_name = "testlorem"
string_to_add = "added"
with open(file_name, 'r') as f:
file_lines = [''.join([x.strip(), string_to_add, '\n']) for x in f.readlines()]
with open(file_name, 'w') as f:
f.writelines(file_lines)
Könnte es besser sein, wenn '' '['' .join ([x.strip(), string_to_add, '\ n']) für x in f]' ''? – lerner
Lesen Sie die Dokumentation für 'open', um mit zu beginnen. – njzk2