将char添加到文件中每行的开头和结尾

时间:2016-03-12 16:31:07

标签: python readfile writefile

我有一个文本文件,每行只包含一个单词。我想通过将char添加到每行中每个单词的开头和结尾来更新文件。这是我在Python中的代码:

break

但问题是此代码将appendText='_' names=open("name.txt",'r') updatedNames=open("name2.txt",'a') for name in names: updatedNames.write(appendText+name+appendText) updatedNames.close() 添加到_字符之后的行尾。换句话说,输出如下所示:

\n

_Name _ 后跟_Name,然后在下一行另有enter。我希望_都在同一行:

_

4 个答案:

答案 0 :(得分:1)

您可以使用str.rstrip()删除\n

appendText = '_'
with open("name.txt", 'r') as names:
    with open("name2.txt", 'a') as updatedNames:
        for name in names:
            updatedNames.write(appendText + name.rstrip() + appendText + '\n')

使用context manager打开文本文件。

答案 1 :(得分:0)

您想删除换行符,然后将其添加回来:

appendText='_'
names=open("name.txt",'r')
updatedNames=open("name2.txt",'a')
for name in names:
  updatedNames.write(appendText + name.rstrip() + appendText + '\n')
updatedNames.close()

答案 2 :(得分:0)

你可以试试这个:

append_text = "_"
with open("name.txt") as f:
    buff = []
    for line in f:
        if line.strip():
             buff.append("%s%s%s"% (append_text,line.strip(),append_text))
    updatedNames=open("name2.txt",'w')
    updatedNames.write("\n".join(buff))
    updatedNames.close()

空行将被忽略

答案 3 :(得分:0)

打开文件后,我会使用readlines()自动删除\ n:

mylist = names.readlines()
newstring = []
for word in list:
    newstring += appendText+word+appendText+'\n'

然后将其打印到您的文件