python测试写入文件时一次打开open和多次打开open的效率
2023-09-11 14:15:15 时间
1、使用with打开一次open
示例代码1:
from datetime import datetime
import random
import time
names = ['刘一', '陈二', '张三', '李四', '王五', '赵六', '孙七', '周八', '吴九', '郑十']
sex = ['男', '女']
age = [25, 28, 29, 32, 31, 26, 27, 30]
subjects = ['语文', '数学', '英语', '生物', '地理']
grades = [85, 77, 96, 74, 85, 69, 84, 59, 67, 69, 86, 96, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]
character = ['自信但不自负,不以自我为中心',
'努力、积极、乐观、拼搏是我的人生信条',
'抗压能力强,能够快速适应周围环境',
'敢做敢拼,脚踏实地;做事认真负责,责任心强',
'爱好所学专业,乐于学习新知识;对工作有责任心;踏实,热情,对生活充满激情',
'主动性强,自学能力强,具有团队合作意识,有一定组织能力',
'忠实诚信,讲原则,说到做到,决不推卸责任',
'有自制力,做事情始终坚持有始有终,从不半途而废',
'肯学习,有问题不逃避,愿意虚心向他人学习',
'愿意以谦虚态度赞扬接纳优越者,权威者',
'会用100%的热情和精力投入到工作中;平易近人',
'为人诚恳,性格开朗,积极进取,适应力强、勤奋好学、脚踏实地',
'有较强的团队精神,工作积极进取,态度认真']
create_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
start_time = time.time()
with open('./data/big_data.txt', 'a', encoding='utf-8') as f:
for i in range(1000000):
data = f'{i},{random.choice(names)},{random.choice(sex)},{random.choice(age)},{random.choice(subjects)},' \
f'{random.choice(grades)},{random.choice(character)},{create_time}\n'
print(data)
f.write(data)
print(f"程序耗时:{time.time() - start_time}")
运行效果:
2、使用with没写入一行打开一次open
示例代码2:
from datetime import datetime
import random
import time
names = ['刘一', '陈二', '张三', '李四', '王五', '赵六', '孙七', '周八', '吴九', '郑十']
sex = ['男', '女']
age = [25, 28, 29, 32, 31, 26, 27, 30]
subjects = ['语文', '数学', '英语', '生物', '地理']
grades = [85, 77, 96, 74, 85, 69, 84, 59, 67, 69, 86, 96, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]
character = ['自信但不自负,不以自我为中心',
'努力、积极、乐观、拼搏是我的人生信条',
'抗压能力强,能够快速适应周围环境',
'敢做敢拼,脚踏实地;做事认真负责,责任心强',
'爱好所学专业,乐于学习新知识;对工作有责任心;踏实,热情,对生活充满激情',
'主动性强,自学能力强,具有团队合作意识,有一定组织能力',
'忠实诚信,讲原则,说到做到,决不推卸责任',
'有自制力,做事情始终坚持有始有终,从不半途而废',
'肯学习,有问题不逃避,愿意虚心向他人学习',
'愿意以谦虚态度赞扬接纳优越者,权威者',
'会用100%的热情和精力投入到工作中;平易近人',
'为人诚恳,性格开朗,积极进取,适应力强、勤奋好学、脚踏实地',
'有较强的团队精神,工作积极进取,态度认真']
create_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
start_time = time.time()
for i in range(1000000):
with open('./data/big_data2.txt', 'a', encoding='utf-8') as f:
data = f'{i},{random.choice(names)},{random.choice(sex)},{random.choice(age)},{random.choice(subjects)},' \
f'{random.choice(grades)},{random.choice(character)},{create_time}\n'
print(data)
f.write(data)
print(f"程序耗时:{time.time() - start_time}")
运行效果:
综上所述:使用with一次使用open打开文件效率是比多次使用open打开文件效率是高的!
生成的文件截图如下:
因为里面数据是随机生成的,两个文件大小不同是正常的。
相关文章
- 【整理】各种Python的IDE(集成开发环境)的总结和对比
- 【python】创建,读取文件
- Python基础案例(一)
- python代码实现stack和queue
- python中的实例方法、静态方法、类方法、类变量和实例变量浅析
- python mmsql连接支持
- Python中的文件IO操作(读写文件、追加文件)
- python 编辑文件时路径问题解决方法:文件或者目录不存在、文件编辑后无法保存等(以编辑xml文件为例)
- Python每日一练(20230402)
- Python 刷Leetcode题库,顺带学英语单词(24)
- OAS的使用——Python SDK
- Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断
- 怎么才能学会Python?
- Python发送微信消息(文字、图片、文件)给指定好友和微信群,零基础可看懂(附源码和教程)
- 〖Python自动化办公篇②〗- 文件自动化管理 - shutil模块实现文件的裁剪、压缩与解压缩
- 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
- 【python】昔去雪如花,今来花似雪,今日份雪花快递到啦
- Python实现BP神经网络ANN单隐层回归模型项目实战
- Python学习22:迭代
- Python将一个大文件按段落分隔为多个小文件的简单方法
- python读取大文件
- python之计算文件的crc32值(亲测可以计算大文件)
- Diagrams 系统架构图绘制工具: 使用 Python 绘制漂亮的系统架构图
- python pandas简单使用处理csv文件
- 服务器端 python pdb 调试
- 〖Python自动化办公篇⑰〗- PPT 文件自动化 - PPT 插入表格与图片
- Python 同一个类中不同函数相互调用
- 【Python】.tsp文件的读取
- 【Python】1.python 删除文件夹和文件