码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础(三)文件操作

时间:2018-06-22 21:40:36      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:new   数据   磁盘   文件内容   flush   原来   rip   rds   关闭   

【对文件进行循环操作】

fw = open(‘nhy‘,‘w‘)

for line in fw:  

  print(‘line:‘,line)   #直接循环文件对象,每次循环的时候就是取每一行的数据

fw.flush()    #把缓冲区里面的数据立即写到磁盘上。

with open(‘nhy‘,‘w‘) as fw, open(‘nhy2‘,‘w‘) as fw2 :       #使用with,可以自动关闭文件,待文件使用完后(用with打开多个文件的写法)
  fw.read()
  fw.write(‘xxx‘)

 

【文件修改】

**思路一:简单粗暴直接

1、先获取到文件里面所有的内容
2、然后修改内容
3、清空原来文件里面的内容
4、重新写入

eg:将文件中的123替换为Python
 f = open(‘users.txt‘,‘a+‘)
 f.seek(0)
 all_data = f.read()
 new_data = all_data.replace(‘123‘,‘python‘)
 f.seek(0)
 f.truncate()    #清空文件内容
 f.write(new_data)
 f.flush()
 f.close()

**思路二:高效的处理方式

1、先打开原来的文件,再打开一个空文件
2、循环处理原来文件里面每一行数据,处理完之后,写到新文件里面
3、把原来的文件删除,把新文件的名字改成原来文件的名字

 

eg:修改文件,满足如下要求:

1、前面的空格
2、把空行去掉
3、你替换you
4、写到新文件里
5、把原来的文件删除,把新文件的名字改成原来文件的名字
      import os
      with open(‘words‘,encoding=‘utf-8‘) as fr, open(‘.words‘,‘w‘,encoding=‘utf-8‘) as fw:
   for line in fr:
    line = line.lstrip() #去掉左边的空格
    if line:#判断这一行是否有数据
    line = line.replace(‘你‘,‘you‘)#替换数据
    fw.write(line)#写到新文件里面

  os.remove(‘words‘)#删除原来的文件
  os.rename(‘.words‘,‘words‘) #把新文件的名字改成原来文件的名字

Python基础(三)文件操作

标签:new   数据   磁盘   文件内容   flush   原来   rip   rds   关闭   

原文地址:https://www.cnblogs.com/URNOTBENBEN/p/9215454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!