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はリストであり、エラーが説明しているように、ファイルオブジェクトの書き込みメソッドはリストを受け入れません。

wを文字列に変換して、次のように書くことができます。

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

次に、電話をかけることができます:

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

リストを文字列に結合するには、joinを使用する必要があります。からの書き込みを変更します

q.write(w)

q.write(''.join(w))
于 2012-04-11T05:45:02.073 に答える
0

Stackoverflowの2つの同様の投稿は次のとおりです:-

Pythonを使用してファイルにリストを書き込む

Python:タプルのリストをファイルに書き込む

そこにはさらにいくつかのオプションと選択肢があります。

于 2012-04-11T05:50:33.063 に答える