我有一个文本文件,每行只包含一个单词。我想通过将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
。我希望_
都在同一行:
_
答案 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'
然后将其打印到您的文件