【python】文件操作练习

一.任务描述

任务描述
这大概是某个班的python小练习题,恰好同学问我,我就写一下练练手。

二.代码

from random import*

# 设置种子
seed(1000)

# 随机生成十行数据,每行有3-8个(随机)(-50, 50)的整数,并且存在data.txt中
def f_write():
    fo = open("data.txt", "w")
    for i in range(10):
        ls = []
        a = randint(3, 8)
        for j in range(a):
        	# 注意:只能向文件中写入string,所以要强制转换一下类型
            b = str(randint(-50, 50))
            ls.append(b)
            # 插入分隔符
            ls.append(',')
        # 写入一行
        fo.writelines(ls)
        # 换行
        fo.write('\n')
    fo.close()
 
 # 寻找data.txt中数值最大值   
def f_read():
    fo = open("data.txt", "r+")
    # 按照逗号','分隔
    file_context = fo.read().split(',')
    # 删除换行符"\n"
    for i in file_context:
        if i == "\n":
            file_context.remove(i)
    # (调试)输出未转化前的内容
    # print(file_context)
    # 将list中的所有string类型数据转化为int类型
    file_context = list(map(int, file_context))
    # (调试)看一下转换后输出情况
    # print(file_context)
    # 查找最大值
    max = file_context[0]
    for i in file_context:
        if i > max:
            max = i
    fo.close()
    # 输出最大值
    print("The maximum of all numbers is:{0}".format(max))

# 寻找data.txt中各行数据加和的最大值
def f_readlines():    
    fo = open("data.txt", "r+")
    # 用于存放各行和
    sumList = []
    for line in fo.readlines():  
        # 按照逗号切割并且去除行尾的换行符
        line_contxt = line.split(",")
        for i in line_contxt:
        	# 删除'\n'
            if i == '\n':
                line_contxt.remove(i)
        # 将读取出来的string类型数据转化成int类型       
        line_contxt = list(map(int, line_contxt))
        # (调试)输出各行值
        # print(line_contxt)
        sumList.append(sum(line_contxt))
    # 寻找各行和的最大值
    # (调试)读取各行的最大值 
    # print(sumList)   
    line_max = sumList[0]
    for i in sumList:
        if i > line_max:
            line_max = i
    print("The maximum of the sum of every line is:{0}".format(line_max))

f_write()
f_read()
f_readlines()

三.输出结果(seed=1000)

[Running] python -u "d:\Aven\vsCode\新建文件夹\pra.py"
The maximum of all numbers is:49
The maximum of the sum of every line is:99

[Done] exited with code=0 in 0.386 seconds

data.txt

35,47,-38,0,-5,-42,
-29,18,5,-34,-22,35,
-4,36,12,-25,
35,-4,-21,8,-27,-45,36,45,
-32,9,41,40,3,38,
-48,47,18,9,
48,-23,19,-28,39,40,-37,-18,
-14,-39,-50,-10,
31,-18,-13,
49,48,20,-35,-26,-13,-2,
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PYTHON文件操作练习中,可以通过以下几种方法来进行练习操作文件: 1. 练习1:文件操作的初体验与编码问题:这个练习主要是介绍了一些基本的文件操作方法,如打开、读取、写入、关闭文件,并解决了文件编码问题。 2. 练习2:文件的读取:通过使用open函数和read方法来读取文件内容,可以实现对文件的读取操作。 3. 练习3:为文本文件每一行的末尾增加行号:通过逐行读取文件内容,并在每一行的末尾增加行号,可以实现这个练习的要求。 4. 练习4:复制一个文件:使用shutil模块中的copy方法可以实现文件的复制操作。 5. 练习5:序列化与反序列化:使用pickle模块中的dump方法和load方法可以实现对象的序列化和反序列化操作。 6. 练习6:CSV文件操作:通过使用csv模块可以实现对CSV文件的读取、写入和操作。 7. 练习7:目录操作:可以使用os模块中的函数来进行目录的创建、删除、重命名等操作。 8. 练习8:列出指定目录下所有的.py文件,并输出文件名:可以使用自定义函数、endswith方法或推导式来实现这个练习[2]。 9. 练习9:walk遍历函数的测试使用:通过使用os模块中的walk函数可以实现对目录及其子目录下所有文件的遍历。 10. 练习10:测试shutil模块的拷贝与压缩:可以使用shutil模块中的copy2方法进行文件的拷贝,使用zipfile模块实现文件的压缩和解压缩操作。 11. 练习11:使用递归的方法遍历整个目录并以树状打印出来:递归地遍历目录和子目录,并使用缩进来展示目录结构。 可以根据自己的需要选择不同的练习来进行PYTHON文件操作的实践。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python练习--文件操作](https://blog.csdn.net/weixin_44751294/article/details/109732684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不务正业的小文同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值