文件操作练习

目录

一、题目描述

二、解析

1、获取文件的内容

2、信息匹配

3、写入文件

三、源码


一、题目描述

         开房查询
                创建函数,传入一个名字,查找到这哥们所有的开房记录,然后写入到以这哥们名字为名的txt文件中 如:张三.txt

二、解析

1、获取文件的内容

        先用上下文管理器打开文件,然后再从对象中读取信息,readlines()是一行一行的读取数据,每一行作为一个字符串存储在列表中

    with open('kaifanglist.txt','r',encoding='utf-8',newline='') as fp:
        # print(date)
        date = fp.readlines()

2、信息匹配

        函数的功能是传入一个名字,然后将开房记录写到以此名字命名的文件夹中,此时需要完成的就是姓名去和传入的名字进行匹配;而此时的信息是以一整个字符串存储在一个列表中,要想得到姓名,则需要对字符串进行处理,一种是将字符串按照逗号切割,得到的是一个个的列表,此时将列表再存入列表中,得到的就是一个二维的列表;此时所要的姓名就是以单个字符串存储在二维列表中也就是s[i][0],然后进行判断即可;

第二种方法相对第一种简单,但是有局限性;字符串有一个方法是判断是否已指定的字符串开始

3、写入文件

        再进行判断之后,把相应的数据写入文件夹即可,因为数据可能有多条,所以写入的方式要是追加的形式(a),如果用w则会对之前的内容进行覆盖,文件中就只有最后一条信息

三、源码

# -*- coding: utf-8 -*-
import json

def search(name):
    s = []
    with open('kaifanglist.txt','r',encoding='utf-8',newline='') as fp:
        date = fp.readlines()
        # print(date)
        for i in range(len(date)):  # eval()可以识别字符串,然后将字符串转化成元组存储起来,然后可以继续对元组操作,将其转化为列表,方便取值以及操作
            print(date[i].split(','))
    for j in range(len(s)):
        if name == s[j][0]:
            with open(f'{name}.txt','a',encoding='utf-8') as file:
                t = json.dumps(s[j])
                file.writelines(t)


if __name__ == '__main__':
    search('孙旸')








def test(name):
    with open('kaifanglist.txt', 'r',encoding="utf-8") as f,open(f'{name}.txt','w',encoding='utf-8') as f1:

        l1 = f.readlines()
        for i in l1:
            if i.startswith(f'{name},'):
                f1.write(i)


test('徐争鸣')

Python 文件操作是学习Python一个重要部分,它包括读取文件、写入文件和处理文件的数据等操作。以下是一些常见的Python文件操作练习题: 1. 写一个Python脚本,创建一个名为"test.txt"的文件,并向该文件写入以下内容:"Hello, World!"。 2. 编写一个函数,该函数能够读取一个指定的文本文件,并将其内容打印到控制台上。 3. 修改上述函数,使其能够接收一个文件名列表,并打印出这些文件的全部内容。 4. 创建一个Python脚本,从一个已有的CSV文件读取数据,并将每行数据存储在一个列表。假设CSV文件的第一行是标题行。 5. 编写一个程序,将一个文本文件的内容按行反向输出,即将最后一行输出为第一行,倒数第二行输出为第二行,依此类推。 6. 实现一个Python函数,用于统计一个文本文件指定单词出现的次数。 7. 编写一个Python程序,该程序能够合并两个文本文件的内容,并将合并后的内容写入一个新的文件。 8. 实现一个函数,该函数可以将一个文本文件的内容按照一定的规则进行加密,然后将加密后的内容保存到另一个文件。例如,可以将每个字符的ASCII值加1进行加密。 9. 编写一个程序,从一个文本文件读取数据,然后根据空格分割每行内容,并将分割后的单词存储在一个字典,其键是单词,值是该单词出现的次数。 10. 创建一个Python脚本,用于批量重命名指定目录下的所有文件。新文件名是在原文件名前加上一个特定的前缀,例如 "new_"。 通过这些练习题,你可以加深对Python文件操作的理解和掌握。每个练习都可以帮助你熟悉不同的文件操作技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值