文件翻转教学python

这篇具有很好参考价值的文章主要介绍了文件翻转教学python。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第1关 读文件全部内容到一个字符串

第2关 读文件前n个字符

第3关 逐行读取并输出文件内容

第4关 读取文件到列表中

第5关 读取文件中的数据到二维列表

第6关 将唐诗写入到文件中


第1关 读文件全部内容到一个字符串

任务描述

本关任务:编写一个能读文件全部内容到一个字符串的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.文件的打开 2.读文件到字符串

file = '/data/bigfiles/出塞.txt'
with open(file, mode='r', encoding='utf-8') as f:  # 为文件对象命的名放在as后面
    txt = f.read()  # 将文件全部内容读入到字符串txt中
print(txt)

第2关 读文件前n个字符

任务描述

本关任务:编写一个能读文件前n个字符的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.读文件到字符串

读文件到字符串

2.read(size) 当参数size为大于或等于0的整数时,读取size个字符

n = int(input())
file = '/data/bigfiles/出塞.txt'
with open(file, mode='r', encoding='utf-8') as f:  # 为文件对象命的名放在as后面
    txt = f.read(n)  # 将文件前3个字符读入到字符串txt中
print(txt)

第3关 逐行读取并输出文件内容

本关任务:编写一个能逐行读取并输出文件内容的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.读文件到字符串 2.文件指针

读文件到字符串

1.f.readline() 从文件中读取单行数据;字符串末尾保留换行符(\n),空行使用 '\n' 表示,该字符串只包含一个换行符。 f.readline() 返回空字符串时,表示已经到达了文件末尾。

n = input()
file = '/data/bigfiles/'+n
with open(file,'r',encoding = 'utf-8') as poem:  # 打开文件创建文件对象,命名为poem
    while txt := poem.readline():  # 逐行读文件,直至文件结束
        print(txt.strip())         # 去除行末的换行符后输出当前读到的字符串

第4关 读取文件到列表中

任务描述

本关任务:编写一个能读取文件到列表中的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.读文件到列表

读文件到列表

1.readlines() 无参数时,读取文件全部数据,返回一个列表,列表中每个元素是文件对象中的一行数据,包括行末的换行符’\n’。

file = input()
with open(file, 'r', encoding='utf-8') as poem:  # 打开文件创建文件对象,命名为poem
    poem_ls = poem.readlines()  # 读取文件,到第10个字符所在的行末
print(poem_ls)

第5关 读取文件中的数据到二维列表

任务描述

本关任务:编写一个能读取文件中的数据到二维列表的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.字符串切分 2.遍历文件转二维列表

字符串切分

1.txt.split(sep) 根据分隔符sep对字符串txt进行切分,返回一个列表。

file = input()
with open('/data/bigfiles/'+file, 'r', encoding='utf-8') as fr:  # 打开文件创建文件对象,命名为poem
    score_ls = [row.strip().split(',') for row in fr]                    # 遍历文件对象,row为当前行
print(score_ls)  # 输出二维列表

第6关 将唐诗写入到文件中

根据提示,在右侧编辑器补充代码,输入一个3位数字字符表示的诗的序号,从文件“/data/bigfiles/唐诗三百首.txt”中读出指定序号的诗句,再将该诗单独写入到以该诗序号开始的行为文件名的文件中。

测试说明

平台会对你编写的代码进行测试:

测试输入: 237

预期输出: 创建文件: 237刘长卿:送灵澈.txt

def get_poem(file):
    """读唐诗300首,定位到用户输入的序号的诗,将该首诗读取为一个字符串,返回去除末尾空白字符的字符串"""
    poem = ''                              # 空字符串,用于容纳目标诗
    poet_flag = False                      # 做一个标记,假定当前行不是目标诗
    with open(file, 'r', encoding='utf-8') as fr:  # 创建文件对象
            for line in fr:                    # 遍历文件对象
                # 当当前行包含序号(序号用3位数,不足3位前面补0)时,将当前行拼接到poem上,改变poet_flag的值为True
                if  line[:3] == str(num):
                    poem = poem + line
                    poet_flag = True
                elif line[0] in '0123456789':  # 若当前行不包含序号但有数字
                    poet_flag = False          # 改变标记,后续几行不是目标诗句
                elif poet_flag:                # 如果标记值为真(True)
                    poem = poem + line         # 将当前行拼接到字符串上
            return poem                        # 遍历结束后返回包含目标诗的字符串


def write_poem(line):
    """参数是包含指定序号诗句的字符串,提取诗的标题行做为要写入的文件名,将全部诗句按顺序写入到文件中,返回诗的标题行"""

    title = line.split(maxsplit=1)[0]  # 这里的maxsplit参数是最大拆分数,我们只需要拆分一次
    with open(title+'.txt', 'w', encoding='utf-8') as f:
        f.write(line)
        return title


def check_file(file):
    """参数是新创建的文件名,读取新创建并写入诗句的文件,检查是否写入成功,无返回值"""
    with open(file, 'r', encoding='utf-8') as fr:
        print(fr.read())            # 文件读取为一个字符串并输出


if __name__ == '__main__':
    filename = '/data/bigfiles/唐诗三百首.txt'  # 源文件路径
    num = input()  # 输入序号
    poem_str = get_poem(filename)     # 读取指定序号的诗为字符串
    file_title = write_poem(poem_str)  # 字符串写入文件,并返回标题
    check_file(file_title+'.txt')     # 查看写入的文件,输出诗的内容

 文章来源地址https://www.toymoban.com/news/detail-472088.html

到了这里,关于文件翻转教学python的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python字符串翻转教学设计

    第1关:统计“唐诗三百首”中诗人出现的次数 第2关 统计文件中汉字字数 第3关 格式化输出全部诗名 第4关 随机输出一首诗 无需豪言壮语,默默行动会诠释一切!🐖

    2024年02月13日
    浏览(28)
  • Python os.listdir方法(获取文件夹目录下的内容)

    os.listdir 方法。参数为文件夹路径, 可以返回文件夹下的所有子文件、文件名称, 但不能返回子文件夹下的文件

    2024年02月14日
    浏览(56)
  • 头歌:Python开发技术—文件和异常3( 答案+详细注释)第1关:读取文件内容+第2关:素数写入文件+第3关:输出文件目录+第4关:读写json文件

    自己敲一遍这个代码,注释我写的超级详细,一定可以明白! 内容原创,请勿转载  知识点学习参考: 1.基本读写常用指令: 一文搞懂Python文件读写 - 知乎 (zhihu.com) 2.文件遍历知识总结:  (205条消息) python遍历文件夹下的所有文件_python遍历d盘下面所有文件(排除掉文件夹)

    2024年02月05日
    浏览(217)
  • Java:读取excel文件中的内容(简单、详细、明确、有全部代码)

    注意: jxl 仅支持读取 .xls 文件,读 .xlsx 会报错! 在 pom.xml 中引入 jxl 的依赖 支持读取 xlsx 文件的 poi 依赖说明、使用方法及更多详细内容可以参考: Java读取excel的方式,一篇文章看懂(详细)

    2024年02月12日
    浏览(44)
  • Android如何写文件到sdcard目录或指定目录,读指定目录中指定文件的内容

     首先在AndroidManifest中添加读写权限: 若报错/sdcard/....:open failed:EACCES(Permission denied) 则表示没有权限向sdcard中写文件 解决方法: 1、更换文件存储目录为外部存储。如使用getExternalCacheDir(),存放路径一般是/storage/sdcard/Android/data/应用包名/cache目录。  2、将应用打包成系统应用

    2024年02月10日
    浏览(38)
  • 列表类型翻转教学

    任务描述 本关任务:编写一个能将用户输入的数据加入到列表中的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.创建空列表 2.向列表中增加数据 任务描述 本关任务:编写一个能对列表中的数据进行统计分析的小程序。 相关知识 为了完成本关任务,你需要掌握:

    2024年02月02日
    浏览(36)
  • 流程控制翻转教学设计

    任务描述 本关任务:编写一个能在同一行输出小于n的非负整数的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.range 2.遍历输出range产生的整数 range range 类型表示不可变的数字序列,通常用于在 for 循环中循环指定的次数。 range 参数必须为整数,如果省略 step 参数,

    2024年02月16日
    浏览(40)
  • 数值类型翻转教学设计

    任务描述 本关任务:编写一个能计算正方形面积的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.输入函数 2.字符串转整数 3.数值运算 4.输出函数 任务描述 本关任务:编写一个能计算正方形面积的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.输入函数 2

    2024年02月12日
    浏览(52)
  • 【leetcode 力扣刷题】字符串翻转合集(全部反转///部分反转)

    题目链接:344. 反转字符串 题目内容: 题目中重点强调了必须 原地修改 输入数组,即不能新建一个数组来完成字符串的反转。我们注意到: 原来下标为0的,反转后是size - 1【原来下标是size - 1的,反转后是0】; 原来下标是1的,反转后是size - 2【原来下标是size -2的,反转后

    2024年02月11日
    浏览(43)
  • 字符串翻转教学设计

    任务描述 本关任务:编写一个能统计“唐诗三百首”中诗人出现次数的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.序列元素计数方法 任务描述 本关任务:编写一个能统计文件里去除标点后的汉字字数的小程序。 相关知识 为了完成本关任务,你需要掌握: 1.字符

    2024年02月04日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包