首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python计数段落

问Python计数段落
EN

Stack Overflow用户
提问于 2015-02-21 19:42:21
回答 2查看 8.4K关注 0票数 4

大家好,所以我的任务是数行和段落。数每一行显然是容易的,但我坚持数段落。如果一个段落没有字符,它将返回数字0,对于每一段都是一个更高的增量。例如,一个输入文件是:输入,输出应该是输出,所以我的代码是:

代码语言:javascript
复制
def insert_line_para_nums(infile, outfile):
    f = open(infile, 'r')
    out = open(outfile, 'w')
    linecount = 0
        for i in f:
            paragraphcount = 0
            if '\n' in i:
                linecount += 1
            if len(i) < 2: paragraphcount *= 0
            elif len(i) > 2: paragraphcount = paragraphcount + 1
            out.write('%-4d %4d %s' % (paragraphcount, linecount, i))
    f.close()
    out.close()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-21 20:37:41

代码语言:javascript
复制
def insert_line_para_nums(infile, outfile):
    f = open(infile, 'r')
    out = open(outfile, 'w')
    linecount = 0
    paragraphcount = 0
    empty = True
    for i in f:
        if '\n' in i:
            linecount += 1
            if len(i) < 2:
                empty = True
            elif len(i) > 2 and empty is True:
                paragraphcount = paragraphcount + 1
                empty = False
            if empty is True:
                paragraphnumber = 0
            else:
                paragraphnumber = paragraphcount
        out.write('%-4d %4d %s' % (paragraphnumber, linecount, i))
    f.close()
    out.close()
票数 2
EN

Stack Overflow用户

发布于 2015-02-21 20:37:50

这是一种方法,并不是最漂亮的。

代码语言:javascript
复制
import re
f = open('a.txt', 'r')

paragraph = 0

lines = f.readlines()

for idx, line in enumerate(lines):
    if not line == '\n':
        m = re.search(r'\w', line)
        str = m.group(0)

    try:
        # if the line is a newline, and the previous line has a str in it, then  
        # count it as a paragraph.
        if line == '\n' and str in lines[idx-1]: 
            paragraph +=1
    except:
        pass

if lines[-1] != '\n': # if the last line is not a new line, count a paragraph.
    paragraph +=1

print paragraph
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28650454

复制
相关文章

相似问题

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