Python二级考试-综合应用题(对网络版的《论语》txt文件进行提纯)

前言:网络版《论语》内容比较齐全,包含了原文内容和注释内容,而原文内容又包含了序号符号!这是一题比较简单的应用题,只涉及到TXT文件的读写!解决思路也比较清晰明了。

题目:

原文件如下图所示:

问题1:

分析问题:题目要求就是对“论语.txt”文件进行提纯,把空格,“【原文】”和“【注释】”以及注释内容去掉,并写入新的文件“论语-原文.txt”。注意:收尾空格要去掉。

解决思路:

1,用open函数打开源文件,并用readlines函数逐行读取文件内容,这里返回列表类型,每一行为列表的一个元素。

2,遍历列表,对每一个列表中的元素用strip函数和replace函数分别去掉换行符“\n”和收尾空格(因为源文件有些行为空,读取的时候任会有“\n”,这样去掉换行符方便后面处理)。

3,去掉换行符和收尾空格后,我们就可以观察当前文件内容(可以输出查看),不难发现除了原文内容,其他行第一个字符要么是“【”就是“(”,这样我们就可以用if语句进行筛选。

4,对筛选的内容写入新的文件即可。

代码实现:

# !/usr/bin/env python
# -*- encoding:utf-8 -*-
# 作者:赖正华

def read_files():
    """读取文件"""
    files = open("C:\\WEXAM\\000000000000\\论语.txt","r",encoding="gbk") # 文件位置以文件所在位置为准
    txts = files.readlines()
    n = 0
    for txt in txts:   # 也可以直接遍历files,效果是一样的。
        new_txt = txt.strip(‘\n‘).replace(‘ ‘,‘‘)
        if new_txt and new_txt[0] != ‘【‘ and new_txt[0] != ‘(‘:
            n += 1
            write_files(new_txt + "\n")
            print("第{}句写入成功!".format(n))
    files.close()
def write_files(strs):
    """写入文件"""
    files = open("C:\\WEXAM\\000000000000\\论语-原文.txt","a+",encoding="gbk")    # 文件位置以文件所在位置为准

    files.write(strs) 
    files.close() 

if __name__ == "__main__":     read_files() 

    print("操作成功!")

另一种解决思路:

files = open("C:\\Users\\赖正华\\Desktop\\论语.txt","r",encoding="utf-8")
lines = files.readlines()
num = 1
for line in lines:   # 也可以直接遍历files,效果是一样的。
    line = line.strip(‘\n‘).replace(‘ ‘,‘‘)
    if line and num == 1 and line.count("【原文】") == 0  and line.count("【注释】") == 0:
        print(line)
    if line.count("【原文】") > 0:
        num = 1
    if line.count("【注释】") > 0:
        num = 0
files.close()

# 输出内容如下:
# 子曰(1):“学(2)而时习(3)之,不亦说(4)乎?有朋(5)自远方来,不亦乐(6)乎?人不知(7),而不愠(8),不亦君子(9)乎?”

问题2:

分析问题:题目要求就是对问题一写入的新文件“论语-原文.txt”进一步提纯,也就是去掉每行文字中所有小括号及内部数字,并写入新的文件“论语-提纯原文.txt”。

解决思路:

1,用open函数打开源文件,并用readlines函数逐行读取文件内容,这里返回列表类型,每一行为列表的一个元素。

2,也是遍历列表,用strip函数或replace函数去除即可,这里我用replace函数。

3,对写好的内容写入新的文件即可。

代码实现:

# !/usr/bin/env python
# -*- encoding:utf-8
# 作者:赖正华

def read_files():
    """读取文件"""
    with open("C:\\WEXAM\\000000000000\\论语-原文.txt","r",encoding="gbk") as files:
        lines = files.readlines()
        n = 0
        for line in lines:   # 也可以直接遍历files,效果是一样的。
            n += 1
            for i in range(1,11):
                s = ‘(‘ + str(i) + ‘)‘
                line = line.replace(s,‘‘)
            write_files(line)
            print("第{}行写入成功!".format(n))

def write_files(strs):
    """写入文件"""
    with open("C:\\WEXAM\\000000000000\\论语-提纯原文.txt","a+",encoding="gbk") as files:
        files.write(strs)
if __name__ == "__main__":
    read_files()
    print("操作成功!")

原文地址:https://www.cnblogs.com/laizhenghua/p/lunyu.html

时间: 2024-08-26 03:43:26

Python二级考试-综合应用题(对网络版的《论语》txt文件进行提纯)的相关文章

python 爬取网络小说 清洗 并下载至txt文件

什么是爬虫 网络爬虫,也叫网络蜘蛛(spider),是一种用来自动浏览万维网的网络机器人.其目的一般为编纂网络索引. 网络搜索引擎等站点通过爬虫软件更新自身的网站内容或其对其他网站的索引.网络爬虫可以将自己所访问的页面保存下来,以便搜索引擎事后生成索引供用户搜索. 爬虫访问网站的过程会消耗目标系统资源.不少网络系统并不默许爬虫工作.因此在访问大量页面时,爬虫需要考虑到规划.负载,还需要讲“礼貌”. 不愿意被爬虫访问.被爬虫主人知晓的公开站点可以使用robots.txt文件之类的方法避免访问.这个

python实现将json数据以json格式写入txt文件

json.dumps中indent参数是设置json缩进量的 举例: tmp = { "aaa" : "111", "bbb" : '222'} import json with open("tmp.txt", "w") as fp: fp.write(json.dumps(tmp,indent=4)) 打开tmp.txt查看效果 原文地址:https://www.cnblogs.com/VseYoung/

PHP面试题及答案解析(8)—PHP综合应用题

1.写出下列服务的用途和默认端口. ftp.ssh.http.telnet.https ftp:File Transfer Protocol,文件传输协议,是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输,其默认端口是21. ssh:Secure Shell,安全外壳协议,建立在应用层和传输层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,其默端口是22. http:hypertext transport protocol,超文本传送协议,是

程序设计C语言二级考试教程 Java基础视频教程 安卓软件开发教程 Unity3D游戏制作入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

【免费送课程+海量学习资料】计算机二级考试超级干货大放送~

亲爱的童鞋们~ 一年一度的计算机二级考试就在本月9月21号--23号正式开启啦,倒计时2周,我想现在的你一定是这个状态~ 小伙伴表担心,临阵磨枪不快也光,为了助你通过考试,我们为你的备考准备了超级干货: 干货1:价值99元的计算机等级考试二级<MS Office高级应用>视频课程,课程共20课时,14个小时. 干货2:海量的计算机二级备考资料 只要动一动手,干货你全部拿走~ 忍不住了,先透漏下,嘻嘻~ **话说怎么免费获取这些资料呢?只需2步: 第一步:分享以下"免费刷题小程序海报&

Python 二级模拟选择题(六)

1. 算法的时间复杂度是指(D)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法程序中的指令条数D. 算法执行过程中所需要的基本运算次数 2. 下列关于栈的叙述中正确的是(D)A. 在栈中只能插入数据B. 在栈中只能删除数据C. 栈是先进先出的线性表D. 栈是先进后出的线性表 3. 对建立良好的程序设计风格,下面描述正确的是(D)A. 符号名的命名只要符合语法B. 充分考虑程序的执行效率C. 程序的注释可有可无D. 程序应简单.清晰.可读性好 4. 在面向对象方法中,一个对象请求另一

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知

Python读取txt文件

Python读取txt文件,有两种方式: (1)逐行读取 1 data=open("data.txt") 2 line=data.readline() 3 while line: 4 print line 5 line=data.readline() (2)一次全部读入内存 1 data=open("data.txt") 2 for line in data.readlines(): 3 print line

【原创】python中文编码问题深入分析(三):python2.7文件读写中文编码问题

上一篇文章介绍和分析了python2.7中使用print遇到的中文编码问题的原因和解决方案,本篇主要介绍一下python2.7中执行文件读写可能遇到的编码问题. 1.文件读取 假如我们读取一个文件,文件保存时,使用的编码格式,决定了我们从文件读取的内容的编码格式,例如,新建一个文本文件test.txt, 编辑内容,保存的时候注意,编码格式设定为gb2312,那么使用python读取文件内容,方式如下: f = open('test.txt','r') s = f.read() #读取文件内容,如