Python读写txt文本(示例说明)

txt读写相对来说比较简单写,以下通过一个简单的示例来感受下读写的效果。

1、实现的需求

①写入:
给文件名为“1.txt”的文本中,写入(800,600)-(2048,2048)之间的总计1809801行数据,数据取值必须两两组合,遍历所有的值。比如(800,600),(800,601)…(800,2048)…(801,600)…(801,2048)等等。效果图如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述在这里插入图片描述
②读取:
每次读取一行数据,并把该行中的数据分割后,单独打印出来。如下:
在这里插入图片描述

2、实现过程

①实现第一个需求,即1809801行数据的写入,代码如下:

import re
m = []
f = open(".\1.txt", "w")
for i in range(800,2048): # i的值为800-2048
	for j in range(600,2048): # j的值为600-2048
		p = i,j # 循环取的i,j值给p,例如循环第一遍时p=(800,600)
		m.append(p) # 把每次得到的p的值存入列表,并且在都在列表末尾追加,这样就会把所有取到的值存入了列表m
"""
上边的代码执行完后,m = [(800,600),(800,601),(800,602)......(2048,2048)]
"""
		
for n in range(len(m)):
	q = (str(m[n])+'\n') # 把得到的m列表转换成字符串,此时q如果写入txt时,就是把m列表包括“()”也会写进去
	w = q.split("(")[1] # 我们要把q中的字符串“()”去掉,先去掉“(”
	r = w.split(")")[0] # 再去掉“)”
	f.write(r+'\n') # 此时换行写入txt时就是需求中的效果了
f.close() # 关闭文件

② 实现第二个需求,即读取这1809801行数据,并把该行中的数据分割后,单独打印,如下:

i=0
num = 1809801
while(1):
    if i < num:
        with open('./1.txt', 'r') as data_file:
            lines = data_file.readlines() # 获取所有行
            data1 = int(lines[i].split(",")[0]) # 把第i行的“,”左边的数据给data1,如第一行中800,600中的800给data1
            data2 = int(lines[i].split(",")[1]) # 把第i行的“,”左边的数据给data2,如第一行中800,600中的600给data2
            print(data1)
            print(data2)
    i+=1 # 循环打印,就得到需求中的效果了

3、项目中的实例

以上需求,可以对应一个项目中的实际情况,比如让给某个设备设置分辨率,主要限制如下:
1、分辨率宽的取值为:800-2048
2、分辨率高的取值为:600-2048
3、也就是说,分辨率要从(800@600)取值到(2048@2048)

以上3点刚好对应了需求1中的描述,我们肯定是把分辨率的这些值存入到配置中,如txt中。这样后边给设置发指令的时候,只需要从配置中读取。
当然也可以在脚本中,直接把数据写入一个列表中,然后读取。经过测试,这1809801个数据写去列表是需要一段时间的,非常浪费时间和资源,效率特别低。

4、然后我们从配置中读取分辨率,发送给设备
5、必须是遍历所有的分辨率,及1809801个分辨率要发送给设备

以上2点,就刚好对应了需求2的描述。每次发送一个,不重复,要全部发完,刚好就是需求2中的代码描述。

总结:其实,我们在学习的过程中,一些简单的知识点,很可能就是一个项目中的灵魂,当能学以致用的时候,就感觉所学之宝贵。
欢迎一起学习交流,个人VX:MrLinShu

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

虫无涯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值