python 关于文件操作
2024-10-13 12:52:41
,要求在文件 .py 第六行插入一句话;
#cat /root/python/2.py
2 昨夜雨疏风骤1
3 昨夜雨疏风骤2
4 昨夜雨疏风骤3
5 昨夜雨疏风骤4
6 昨夜雨疏风骤5
7 昨夜雨疏风骤6
8 昨夜雨疏风骤7
# vim /root/python/file.py
f = open("/root/python/2.py","r")
num = 0
for i in f.readlines():
num+=1
if num == 6:
# i=i.strip() + "i love you" # 两种方法,下面那种性能更好些(join)
i=''.join([i.strip(),"i love you"])
print i.strip()
f.close()
运行结果: [root@localhost python]# python 3.py
昨夜雨疏风骤1
昨夜雨疏风骤2
昨夜雨疏风骤3
昨夜雨疏风骤4
昨夜雨疏风骤5
昨夜雨疏风骤6i love you
昨夜雨疏风骤7
2, readlines()是讲对象整体拷贝到内存当中,如果一个文件过大的话,读取效率会很低,所以用到了迭代器,意思是用到文件中某一行取一行,用一个取一个,而不是首先将整体翻入内存当中;
2 # vim /root/python/file.py
f = open("/root/python/2.py","r")
num = 0
for i in f:
num+=1
if num == 6:
i=''.join([i.strip(),"i love you"])
print i.strip()
f.close()
#f 是 即将在for 循环内部的一个迭代器,而不是之前的 f.readlines(),readlines是将打开文件的内容完全复制一 份,而此时的f是取一行用一行,print完一行内存当中
就没有了这一行,在对一个打的文件进行运用时这种性能会更好一些。
3,创建一个新的文件,并且能够实现文件内容某行的字符窜拼接。 已有文件: [root@localhost python]# vim shici.py
轻舟已过万重山1
轻舟已过万重山2
轻舟已过万重山3
轻舟已过万重山4
轻舟已过万重山5
轻舟已过万重山6
轻舟已过万重山7 脚本如下: [root@localhost python]# vim 1.py
f_read = open("/root/python/shici.py",'r')
f_write = open("/root/python/mumu.py",'w') num=0
for line in f_read:
num += 1
if num == 5:
line = '------'.join([line.strip(),"hello 岳飞\n"])
f_write.write(line)
f_read.close()
f_write.close() 运行脚本: [root@localhost python]# python 1.py 查看结果: [root@localhost python]# vim mumu.py
轻舟已过万重山1
轻舟已过万重山2
轻舟已过万重山3
轻舟已过万重山4
轻舟已过万重山5------hello 岳飞
轻舟已过万重山6
轻舟已过万重山7
最新文章
- 【Django】--Model字段
- web.py+html+mysql实现web端小系统的问题汇总
- 替换html元素
- NSString学习
- Codeforces 519 E. A and B and Lecture Rooms
- 1.ARC和非ARC文件共存
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) B. Bear and Three Musketeers 枚举
- Msys 编译 VS2013 ffmpeg
- 《Concrete Mathematics》-chaper5-二项式系数
- FPGA计算3行同列数据之和
- Erlang Rebar 使用指南之一:入门篇
- [Windows]卸载Office 2016密钥
- vue 存取、设置、清除cookie
- 效果监控js源码
- CML\LVDS
- vuex那些事儿
- J - Joseph and Tests Gym - 102020J (二分+线段树)
- Android样式的开发:selector篇
- sql数据查询基础笔记
- js处理img标签加载图片失败,显示默认图片