python-day3 文件操作

----python3文件操作

#读取, 就不能写,  写就报错

F=open('a.txt',mode='r',encoding='utf-8')

data=F.read()

print (data)

F.close()

mode=r+  -->读 和写 ,没有 这个文件 报错

 

data1=F.readline()

print (data1)    -->打印第一行

data2=F.readlines()  

print (data2)    -->将内容打印成列表,已换行分割

print (F.readable())  -->是否可读

 

#写入,清空原来,写入新的  ;就不能读

#没有这个文件 就会 创建

F=open('a.txt',mode='w',encoding='utf-8')

F.write('1111')

F.close()

mode=w+    -->写和读

print (F.writeable)  -->是否可写

 

#追加,不清空,在最后追加

F=open('a.txt',mode='a',encoding='utf-8')

F.write('1111')

F.close()

mode=a+    -->追加和读

 

###mode = xb   是以二进制的方式 处理,读 或者写

 

F.seek(0)  -->移动指针,移到开头

####################以上是一般用法,使用后 必须 close()

-------下面有一种高级用法,不仅不需要 close(), 还可以 同时打开俩个文件,一起操作

with open('a.txt',mode='r',encoding='utf08') as f:

  print (f.read())  结果和普通的读取是一样的

还可以这样: 需求:将一个文件里面的内容CP 到另外一个文件

with opene('a.txt',mode='r',encoding='utf-8') as f  and open('b.txt',mode='w+',encoding='utf-8') as w:

  data=f.read()

  w.write(data)

  print (w.read())

#按照以上方法还可以 拷贝图片,(爬虫下载的方法); mode 'b'

 

###########小练习:修改文件;

和LINUX  VIM 修改文件一样, 进去之后 会生成 缓存文件,当修改后 保存--> 底层是 将缓存文件覆盖了原文件

文件 a.txt 中 有 555\n222\n333\n    需要将555变成111

 

 

 

import os
with open('1.txt',mode='r',encoding='utf-8') as r , open('2.txt',mode='w+',encoding='utf-8') as w:
for i in r.readlines():
print (i)
if i.startswith('55'):
i='11111\n'
w.write(i)
os.remove('1.txt')
os.rename('2.txt','1.txt')

 

posted @ 2017-05-16 11:10  昂达达  阅读(234)  评论(3编辑  收藏  举报