2013-11-28 34 views

答えて

8
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') 
+0

がそれに応じて変更されました。 –

+0

私はこれを試しましたが、文字列を追加する代わりに別の行に置きます。その行にはipがあることに注意してください。 127.0.0.1(return/enter)文字列ではなく、127.0.0.1文字列にする必要があります。 – Pcntl

+0

right、undated again –

2
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()) 
8

文字列を構成する+オペレータが遅い使用して、覚えておいてください。代わりにリストに参加してください。

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) 
+0

fの '' 'の['' .join([x.strip()、string_to_add、 '\ n'])' ''? – lerner

関連する問題