将列表转换为字符串
我已经从文件中提取了一些数据,并希望将其写入第二个文件。 但我的程序正在返回错误:
sequence item 1: expected string, list found
这似乎正在发生,因为write()
一个字符串,但它正在接收一个列表。
所以,就这段代码而言,我如何将列表buffer
转换为字符串,以便将buffer
的内容保存到file2
?
file = open('file1.txt','r')
file2 = open('file2.txt','w')
buffer = []
rec = file.readlines()
for line in rec :
field = line.split()
term1 = field[0]
buffer.append(term1)
term2 = field[1]
buffer.append[term2]
file2.write(buffer) # <== error
file.close()
file2.close()
尝试str.join
:
file2.write(' '.join(buffer))
文档说:
返回一个字符串,它是可迭代迭代中字符串的串联。 元素之间的分隔符是提供此方法的字符串。
''.join(buffer)
file2.write( str(buffer) )
说明: str(anything)
会将任何python对象转换为其字符串表示形式。 类似于你输出的结果,如果你print(anything)
,但作为一个字符串。
注意:这可能不是OP想要的东西,因为它有如何的元素没有控制buffer
被连接-它将把,
每个人之间-但它可能对别人有用。
上一篇: Converting a list to a string
下一篇: How can I simplify this conversion from underscore to camelcase in Python?