在文件中每行的开头和结尾添加一个字符
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
字符之后的行尾。换句话说,输出如下所示:
_Name
_
_Name
后跟 enter
,然后在下一行还有另一个 _
。我希望 _
都在同一行:
_Name_
您想删除换行符然后再添加回去:
appendText='_'
names=open("name.txt",'r')
updatedNames=open("name2.txt",'a')
for name in names:
updatedNames.write(appendText + name.rstrip() + appendText + '\n')
updatedNames.close()
您可以使用 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 打开您的文本文件。
你可以试试这个:
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'
然后将其打印到您的文件中
我有一个文本文件,每一行只包含一个单词。我想通过在每行中每个单词的开头和结尾附加一个字符来更新文件。这是我在 Python:
中的代码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
,然后在下一行还有另一个 _
。我希望 _
都在同一行:
_Name_
您想删除换行符然后再添加回去:
appendText='_'
names=open("name.txt",'r')
updatedNames=open("name2.txt",'a')
for name in names:
updatedNames.write(appendText + name.rstrip() + appendText + '\n')
updatedNames.close()
您可以使用 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 打开您的文本文件。
你可以试试这个:
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'
然后将其打印到您的文件中