-2

重複の可能性:
ファイルを辞書に読み込み、カウントを保持する

2 つの値を持つ辞書を作成しようとしています。最初の値はテキストです。

<NEW ARTICLE>
Take a look at 
what I found.
<NEW ARTICLE>
It looks like something
dark and shiny.
<NEW ARTICLE>
But how can something be dark
and shiny at the same time?
<NEW ARTICLE>
I have no idea.

2 番目の値は、「ARTICLE>」という単語が使用された回数です。

さまざまな方法を試しましたが、1 つの方法でこのエラーが発生しました。

私が受け取るエラーはこれです:

(key, val) = line.split()
ValueError: need more than 1 value to unpack

いくつかの異なる方法を試しましたが、役に立ちませんでした.1つの方法では、値が多すぎて解凍できません..

後で辞書でキーワード/単語を検索して、適切な数を見つけられるようにしたいと考えています。

Python 3 を使用しています。

4

2 に答える 2

1

これはそれを行う必要があります:

>>> with open("data1.txt") as f:
...     lines=f.read()
...     spl=lines.split("<NEW ARTICLE>")[1:]
...     dic=dict((i,x.strip()) for i,x in enumerate(spl))
...     print dic
... 
{0: 'Take a look at \nwhat I found.',
 1: 'It looks like something\ndark and shiny.',
 2: 'But how can something be dark\nand shiny at the same time?',
 3: 'I have no idea.'}
于 2012-10-29T12:27:48.890 に答える
0

どこかに空の行がないことを確認してください。

if newdoc == True and line != "ARTICLE>" and line:
    (key, val) = line.split()

(空の行は として分割[]され、2 つの要素を持つタプルとして解析できません...)

于 2012-10-29T12:28:04.820 に答える