[英]Add a char to the beginning and end of each line in a file
我有一个文本文件,每一行仅包含一个单词。 我想通过在每行中每个单词的开头和结尾附加一个字符来更新文件。 这是我在Python中的代码:
appendText='_'
names=open("name.txt",'r')
updatedNames=open("name2.txt",'a')
for name in names:
updatedNames.write(appendText+name+appendText)
updatedNames.close()
但是问题是此代码将_
添加到\\n
char之后的行末。 换句话说,输出如下所示:
_Name
_
_Name
后接enter
,然后在下一行再enter
_
。 我想将_
放在同一行中:
_Name_
您可以使用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')
并使用上下文管理器打开您的文本文件。
您要删除换行符,然后将其重新添加:
appendText='_'
names=open("name.txt",'r')
updatedNames=open("name2.txt",'a')
for name in names:
updatedNames.write(appendText + name.rstrip() + appendText + '\n')
updatedNames.close()
您可以尝试以下方法:
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()
空行将被忽略
打开文件后,我会使用readlines()自动删除\\ n:
mylist = names.readlines()
newstring = []
for word in list:
newstring += appendText+word+appendText+'\n'
然后将其打印到您的文件中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.