鱼C论坛

 找回密码
 立即注册
查看: 971|回复: 1

【求助】提取txt文档里的特定内容

[复制链接]
发表于 2022-2-8 20:25:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 神愿 于 2022-2-8 20:34 编辑

我需要提取【原文】内容,并除去类似于1·12这样的标题,
但是为什么数字去除不完全呢?
fi = open("论语-网络版.txt","r",encoding="utf-8")
fo = open("论语-提取版.txt","w")
wflag = False
for line in fi:
    if"【" in line:
        wflag = False
    if "【原文】" in line:
        wflag = True
        continue
    if wflag == True:
        for i in range(25):
            for j in range(25):
                line = line.replace("{}·{}".format(i,j),"")
        fo.write(line)
fi.close()
fo.close()
        
原文件部分内容:
【原文】

  20·2子张问孔子曰:“何如斯可以从政矣?”子曰:“尊五美,屏四恶,斯可以从政矣。”子张曰:“何谓五美?”子曰:“君子惠而不费,劳而不怨,欲而不贪,泰而不骄,威而不猛。”子张曰:“何谓惠而不费?”子曰:“因民之所利而利之,斯不亦惠而不费乎?择可劳而劳之,又谁怨?欲仁而得仁,又焉贪?君子无众寡,无大小,无敢慢,斯不亦泰而不骄乎?君子正其衣冠,尊其瞻视,俨然人望而畏之,斯不亦威而不猛乎?”子张曰:“何谓四恶?”子曰:“不教而杀谓之虐;不戒视成谓之暴;慢令致期谓之贼;犹之与人也,出纳之吝谓之有司。”

  【译文】

  子张问孔子说:“怎样才可以治理政事呢?”孔子说:“尊重五种美德,排除四种恶政,这样就可以治理政事了。”子张问:“五种美德是什么?”孔子说:“君子要给百姓以恩惠而自已却无所耗费;使百姓劳作而不使他们怨恨;要追求仁德而不贪图财利;庄重而不傲慢;威严而不凶猛。”子张说:“怎样叫要给百姓以恩惠而自己却无所耗费呢?”孔子说:“让百姓们去做对他们有利的事,这不就是对百姓有利而不掏自己的腰包嘛!选择可以让百姓劳作的时间和事情让百姓去做。这又有谁会怨恨呢?自己要追求仁德便得到了仁,又还有什么可贪的呢?君子对人,无论多少,势力大小,都不怠慢他们,这不就是庄重而不傲慢吗?君子衣冠整齐,目不邪视,使人见了就让人生敬畏之心,这不也是威严而不凶猛吗?”子张问:“什么叫四种恶政呢?”孔子说:“不经教化便加以杀戮叫做虐;不加告诫便要求成功叫做暴;不加监督而突然限期叫做贼,同样是给人财物,却出手吝啬,叫做小气。”

  【评析】

  这是子张向孔子请教为官从政的要领。这里,孔子讲了“五美四恶”,这是他政治主张的基本点,其中包含有丰富的“民本”思想,比如:“因民之所利而利之”,“择可劳而劳之”,反对“不教而杀”、“不戒视成”的暴虐之政。从这里可以看出,孔子对德治、礼治社会有自己独到的主张,在今天仍不失其重要的借鉴价值。

  【原文】

  20·3孔子曰:“不知命,无以为君子也;不知礼,无以立也;不知信,无以知人也。”

  【译文】

  孔子说:“不懂得天命,就不能做君子;不知道礼仪,就不能立身处世;不善于分辨别人的话语,就不能真正了解他。”

  【评析】

  这一章,孔子再次向君子提出三点要求,即“知命”、“知礼”、“知言”,这是君子立身处世需要特别注意的问题。《论语》一书最后一章谈君子人格的内容,表明此书之侧重点,就在于塑造具有理想人格的君子,培养治国安邦平天下的志士仁人。


提取后:
2子张问孔子曰:“何如斯可以从政矣?”子曰:“尊五美,屏四恶,斯可以从政矣。”子张曰:“何谓五美?”子曰:“君子惠而不费,劳而不怨,欲而不贪,泰而不骄,威而不猛。”子张曰:“何谓惠而不费?”子曰:“因民之所利而利之,斯不亦惠而不费乎?择可劳而劳之,又谁怨?欲仁而得仁,又焉贪?君子无众寡,无大小,无敢慢,斯不亦泰而不骄乎?君子正其衣冠,尊其瞻视,俨然人望而畏之,斯不亦威而不猛乎?”子张曰:“何谓四恶?”子曰:“不教而杀谓之虐;不戒视成谓之暴;慢令致期谓之贼;犹之与人也,出纳之吝谓之有司。”


  2孔子曰:“不知命,无以为君子也;不知礼,无以立也;不知信,无以知人也。”


本来想去掉所有数字,没想到还有残留,不知道我的代码哪里有漏洞
其实我还不太理解,程序是怎么把原文提取出来的

我找到了正确的代码
但是为什么第一版代码无法达到目的呢?

fi = open("论语-网络版.txt","r",encoding="utf-8")
fo = open("论语-提取版.txt","w")
wflag = False
for line in fi:
    if"【" in line:
        wflag = False
    if "【原文】" in line:
        wflag = True
        continue
    if wflag == True:
        for i in range(25):
            for j in range(25):
                line = line.replace("{}·{}".format(i,j),"**")
        for i in range(10):
            line = line.replace("*{}".format(i),"")
        for i in range(10):
            line = line.replace("{}*".format(i),"")
        line = line.replace("*","")
        fo.write(line)
fi.close()
fo.close()
        

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-9 18:42:22 | 显示全部楼层
ddd
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 18:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表