-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.

第二个值是单词“ARTICLE>”被使用的次数。

我尝试了不同的方法,其中一种方法收到此错误:

我收到的错误是这样的:

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

我尝试了几种不同的方法,但无济于事,我尝试的一种方法说它提供了太多的值来解压..

我希望以后能够在字典中搜索关键字/单词并找到其适当的计数。

使用 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()

(空行将被拆分为[],它不能被解析为具有两个元素的元组......)

于 2012-10-29T12:28:04.820 回答