4
>>> w
['Parts-of-speech', 'disambiguation', 'techniques', '(', 'taggers', ')',
 'are', 'often', 'used', 'to', 'eliminate', '(', 'or', 'substantially',
 'reduce', ')', 'the', 'parts-of-speech', 'ambiguitiy', 'prior', 'to',
 'parsing.', 'The', 'taggers', 'are', 'all', 'local', 'in', 'the', 'sense',
 'that', 'they', 'use', 'information', 'from', 'a', 'limited', 'context',
 'in', 'deciding', 'which', 'tag', '(', 's', ')', 'to', 'choose', 'for',
 'each', 'word.', 'As', 'is', 'well', 'known', ',', 'these', 'taggers',
 'are', 'quite', 'successful', '.']
>>> q=open("D:\unieng.txt","w")
>>> q.write(w)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument 1 must be string or read-only character buffer, not list
4

4 回答 4

7

使用writelines()方法来编写您的内容。

>>> f   = open("test.txt",'w')
>>> mylist = ['a','b','c']
>>> f.writelines(mylist)

file.writelines(序列)

将一系列字符串写入文件。序列可以是任何产生字符串的可迭代对象,通常是字符串列表。没有返回值

注意: writelines()不添加行分隔符。

于 2012-04-11T05:47:39.247 回答
3

w是一个列表,文件对象的 write 方法不接受列表,如错误所解释的。

您可以将 w 转换为字符串并像这样编写:

' '.join(w) #Joins elements with spaces in between

然后你可以调用:

q.write(str)
于 2012-04-11T05:45:23.307 回答
0

这是 Stackoverflow 中的两个类似的帖子:-

使用 Python 将列表写入文件

Python:将元组列表写入文件

您将在那里获得更多选择和替代方案。

于 2012-04-11T05:50:33.063 回答
0

您需要使用join将列表加入字符串。将写入从

q.write(w)

q.write(''.join(w))
于 2012-04-11T05:45:02.073 回答