博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 关于文件操作
阅读量:6123 次
发布时间:2019-06-21

本文共 1554 字,大约阅读时间需要 5 分钟。

1,要求在文件 2.py 第六行插入一句话;
1 #cat  /root/python/2.py 2 昨夜雨疏风骤13 昨夜雨疏风骤24 昨夜雨疏风骤35 昨夜雨疏风骤46 昨夜雨疏风骤57 昨夜雨疏风骤68 昨夜雨疏风骤7
1 # vim  /root/python/file.py 2 f = open("/root/python/2.py","r") 3 num = 0 4 for i in f.readlines(): 5   num+=1 6   if num == 6: 7 #   i=i.strip() + "i love you"           # 两种方法,下面那种性能更好些(join) 8     i=''.join([i.strip(),"i love you"]) 9   print i.strip()10 f.close()
1 运行结果: 2  3 [root@localhost python]# python 3.py  4 昨夜雨疏风骤1 5 昨夜雨疏风骤2 6 昨夜雨疏风骤3 7 昨夜雨疏风骤4 8 昨夜雨疏风骤5 9 昨夜雨疏风骤6i love you10 昨夜雨疏风骤7
1 2, readlines()是讲对象整体拷贝到内存当中,如果一个文件过大的话,读取效率会很低,所以用到了迭代器,意思是用到文件中某一行取一行,用一个取一个,而不是首先将整体翻入内存当中;  2 #  vim  /root/python/file.py 3 f = open("/root/python/2.py","r") 4 num = 0 5 for i in f:                6   num+=1 7   if num == 6: 8     i=''.join([i.strip(),"i love you"]) 9   print i.strip()10 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.pyf_read = open("/root/python/shici.py",'r')f_write = open("/root/python/mumu.py",'w')num=0for 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

 

转载于:https://www.cnblogs.com/lixinliang/p/8290246.html

你可能感兴趣的文章
ubuntu 安装SSH并设置免密码登录
查看>>
[Oracle维护工程师手记]两表结合的MVIEW的告诉刷新
查看>>
LeetCode: Integer to Roman 解题报告
查看>>
在C#中实现Json的序列化与反序列化
查看>>
.Net程序集的不同加载方式,以及其在内存中格式
查看>>
Oracle DBA手记—数据库诊断案例与性能优化实践(盖国强亲自策划)
查看>>
一起谈.NET技术,C#调试心经
查看>>
LaTeX技巧206:使用gather输入多行公式的技巧
查看>>
Visual C++ 8.0对象布局的奥秘:虚函数、多继承、虚拟继承
查看>>
Android API之android.provider.ContactsContract
查看>>
socket() failed (13: Permission denied) while connecting to upstream
查看>>
IOS开发实现录音功能
查看>>
thinkphp更新数据库的时候where('')为字符串
查看>>
python2用pip进行安装时报错Fatal error in launcher: Unable to create process using '"'
查看>>
分布式数据库数据从属与client与server的数据同步
查看>>
K8s快速入门
查看>>
.NET连接SAP系统专题:C#调用BAPI给账户赋予权限(八)
查看>>
24、printf跨平台,数据类型与输出类型要匹配
查看>>
浅谈ASP.NET核心对象【转】
查看>>
HDU 1728 逃离迷宫
查看>>