【数模之文本文件操作】

趣玩目录
文本文件操作文件自行准备:
例题1:相关程序代码如下:运行结果如下:写入的文件内容如下:

例题2:相关程序代码如下:data3.txt文件展示:data4.txt文件展示:

文件操作基本知识内置函数open()文件对象常用方法上下文管理语句with
趣编程实现秒表功能(代码如下):运行结果如下:
总结:每日一言:持续更新中…

文本文件操作
文件自行准备:

主要方法懂了就行,文不文件的内容先别太重视
例题1:

遍历文件data.txt中的所有行,统计每一行中字符的个数

相关程序代码如下:
# 文本文件操作
# 遍历文件data.txt中的所有行,统计每一行中字符的个数
with open('data.txt') as f:
g1, g2 = [], []
for l in f:
g1.append(len(l)) # 求每行字符的个数
g2.append(len(l.strip())) # 去掉换行符

data = [str(s)+'\t' for s in g2]
print(g1)
print(g2)

with open('data2.txt', 'w') as f2: # 写入到一个新的文件
f2.writelines(data) # 将g2运行结果写入到一个新的文件

运行结果如下:

写入的文件内容如下:

例题2:

随机产生一个数据矩阵,把它存入具有不同分隔符格式的文本文件中,再把数据从文本文件中提前出来

相关程序代码如下:
# 随机产生一个数据矩阵,把它存入具有不同分隔符格式的文本文件中,再把数据从文本文件中提前出来

import numpy as np
lxw = np.random.rand(6, 8) # 生成6×8的[0, 1]上均匀分布的随机数矩阵
np.savetxt('data3.txt', lxw) # 存成以制表符分隔得文本文件
np.savetxt('data4.csv', lxw, delimiter=',') # 存成以逗号分隔得CSV文件

b = np.loadtxt('data3.txt') # 加载空格分隔得文本文件
c = np.loadtxt('data4.csv', delimiter=',') # 加载CSV文件

因为是随机的嘛,里面的值每运行一次,都会变化的,在这里,只作个大慨参考即可
data3.txt文件展示:

data4.txt文件展示:

文件操作基本知识

不管是文本文件还是二进制文件,其操作流程基本都是一致的。

打开文件并创建文件对象通过该文件对象对文件进行读取、写入、删除和修改等操作关闭并保存文件内容
内置函数open()
Python内置函数open()可以指定模式打开指定文件并创建文件对象,该函数的完整用法如下:

open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

内置函数open()的主要参数如下: file 指定要打开或创建的文件名称【如若该文件不在当前目录中,可以使用相对路径或绝对路径】 mode 指定打开文件的处理方式【下面会讲到】 encoding 指定对文本进行编码和解码的方式,只适用于文本模式【可使用Python支持的任何格式,如GBK、UTF-8等等】

'''
文件打开模式

模式 说明
r 读模式(默认模式,可省略)【若文件不存在则抛出异常】
w 写模式【若文件已存在,会清空原有内容】
x 写模式,创建新文件【若文件已存在则抛出异常】
a 追加模式【不覆盖文件中原有内容】
b 二进制模式(可与其他模式组合使用),使用二进制模式打开文件时
不允许指定encoding参数

t 文本模式(默认模式,可省略)
+ 读、写模式(可与其他模式组合使用)

'''

文件对象常用方法
# 文件对象常用方法
'''
若执行正常,open()函数返回一个可迭代的文件对象,通过该文件对象
可以对文件进行读写操作【文件对象常用方法如下】

文件对象常用方法

方法 功能说明
close() 把缓冲区的内容写入文件,同时关闭文件,并释放文件对象
read([size]) 从文本文件中读取size个字符作为结果返回,或从二进制文件中
读取数量的字节并返回【若省略size则表示读取所有内容】
readline() 从文本文件中读取一行内容作为结果返回
readlines() 把文本文件中的每行文本作为一个字符串存入列表中,返回该列表
【对于大文件会占用较多内存,不建议使用】
writes 把字符串s的内容写入文件
writelines 把字符串列表写入文本文件,不添加换行符
tell 返回文件指针的当前位置

'''

上下文管理语句with

在实际应用中,读写文件应优先考虑使用上下文管理语句with,关键字with可以自动管理资源, 确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭。 with语句的用法如下: with open(filename, mode, encoding) as f: # 通过文件对象f读写文件内容

趣编程
实现秒表功能(代码如下):
import time

print('按下回车开始计时,按下ctrl + C停止计时:')
while True:

input("")
starttime = time.time()
print('开始')
try:
while True:
print('计时:',round(time.time()-starttime, 0), '秒', end="\r")
time.sleep(1)
except KeyboardInterrupt:
print('结束')
endtime = time.time()
print('总共的时间为:', round(endtime – starttime, 2), 'secs')
break

运行结果如下:
温馨提醒:记得点停止哦,不然时间一长,电脑CPU会慢慢升高,会导致电脑变卡哦!

总结:

忘不了孙中山原配一句,我总不能阻止她奔向比我更好的人吧,下一句是,可我就是觉得除了我谁都配不上她!时间还是蛮快的,一转眼,培训就要结束啦,虽学的不是很多,不过学了个大慨,很多事终归还是要靠自己!!继续加油吧,骚年!!!

每日一言:

将来会怎么样,我根本不会考虑。要是成天想着今天,愁着明天,生活还有什么意思呢?就是事情遭到无可再遭的地步,我想总还是有路可走的。

持续更新中…来源:lxw-pro

物联沃分享整理
物联沃-IOTWORD物联网 » 【数模之文本文件操作】

发表评论