首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算文章并将每一篇文章放在列表中

如何计算文章并将每一篇文章放在列表中
EN

Stack Overflow用户
提问于 2015-03-23 18:53:11
回答 2查看 208关注 0票数 0

我有一个文本文档,它由由令牌分隔的多个文章组成

我想把每一篇文章都列在一张清单上

因此,例如,如果我们有一个txt文件:

<新DOCUMENT>你好世界你好世界<新DOCUMENT>早起鸟 我希望List1是:你好,世界,你好 List2未来:早起鸟

现在我不知道需要创建多少个列表,所以首先我需要计算令牌。

第二,我想把每一篇文章都列在一张清单上。

这是我的节目

代码语言:javascript
复制
#program 1

textFile = open("docs.txt" , "r")
lines = textFile.read()


count = 0

#count how many articles there are
for line in textFile:
    if line.strip() == '<NEW DOCUMENT>':
        count = count + 1


#place articles in lists





textFile.close()

我的计数是0,我不知道如何开始把它们放到列表中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-23 20:00:12

假设这个文本文档不是巨大的,并且假设您想要一个表单['Hello world Hello World', 'Early Bird Early Bird']的列表

代码语言:javascript
复制
with open('myfile.txt', 'r') as myfile:
    print([item.strip() for item in myfile.read().split('< NEW DOCUMENT>') if item])

如果您希望表单[['Hello', 'world', 'Hello', World'], ['Early', 'Bird', 'Early', 'Bird']]的嵌套列表

代码语言:javascript
复制
with open('myfile.txt', 'r') as myfile:
    print([[myitem for myitem in item.strip().split(' ')] for item in myfile.read().split('< NEW DOCUMENT>') if item])
票数 1
EN

Stack Overflow用户

发布于 2015-03-23 19:02:09

如果令牌出现在一行中,旁边没有其他标记:

代码语言:javascript
复制
newDoc = "<NEW DOCUMENT>"
listOfDocumetns = [[]]
with open('path/to/text/file') as infile:
    for line in infile:
        line = line.strip()
        if line == newDoc:
            listOfDocuments.append([])
            continue
        listOfDocuments[-1].append(line)

如果标记出现在一行上,则旁边有其他文本:

代码语言:javascript
复制
newDoc = "<NEW DOCUMENT>"
listOfDocumetns = [[]]
with open('path/to/text/file') as infile:
    for line in infile:
        line = line.strip()
        if newDoc not in line:
            listOfDocuments[-1].append(line)
            continue
        while line:
           left, _, right = line.partition(newDoc)
           listOfDocuments[-1].append(left)
           listOfDocuments.append([])
           line = right
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29218137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档