python开发之路---第二章之--文件操作

'''
1、r ## 是只读模式
2、w ## 创建新文件并覆盖写
3、rb ## 二进制方式读
4、wb ## 二进制方式写
5、ab ## 追加写
6、w+ ## 写读模式,支持写完后读取写的内容
7、r+ ## 读写模式,读完之后,再写(追加)
8、
'''

'''
f.tell() # 返回当前文件读取到的光标字节的位置
f.seek(5) # 强制把光标调整到指定字节位置,如果从这个位置写,后面有内容的话,会覆盖写
f.flush() # 强制把内容从内存刷到硬盘中
f.readline() ## 每次读一行
f.writable() # 判断文件是否可读
f.read() ## 把所有内容一次性加载到内存
f.seekable() ## 判断是否可seek操作
f.readable() ## 判断是否可读
f.truncate() ## 从文件头开始截断到指定位置,之后的内容删除了

'''


举例1:(文件读操作)
f = open(a.txt,'r',encoding='utf-8')  只读模式打开文件,原文件存储格式是utf-8
data = f.read() ##读取所有内容
print(data) ## 打印读取的内容到屏幕
f.close() ## 关闭文件

举例2:文件二进制读模式
f = open(a.txt,mode = 'rb') #‘rb’表示以二进制读模式(硬盘存为二进制,打开就为二进制,并且不再需要指定编码)


举例3:文件以覆盖写的方式打开
f = open(a.txt,'w',encoding='utf-8')  ##这个是创建新文件,如果原来就有这个文件,将会清空文件内容从头开始写,谨慎操作


举例4:文件二进制写模式
f = open(a.txt,'wb',encoding='utf-8')


举例5:追加写文件,智能在末尾追加
f = open(a.txt,'a',encoding='utf-8')


举例6:读写模式: (r+)

f = open(file='a.txt',mode='r+',encoding='utf-8') # r+ 表示读写模式  print('读写前:\n',f.read())

  f.write('这是读写模式下的内容\n')

  f.write('这是读写模式下的内容\n')

  f.seek(0)

  f.fulsh()

  print('读写后:\n',f.read())

  f.close()

 

举例7:文件的写读(w+)

f = open(file='a.txt',mode='w+',encoding='utf-8')    ## 文件的写读模式会先清空原先文件里存在的内容,再写入,相当于覆盖写,不同在于可以查看写入的内容。


##举个栗子~下面是文件的循环修改,修改后保存到源文件中
import os

f2 = open('aa_new.txt','w',encoding='utf-8') ##读写模式打开


for i in open('aa.txt','r+',encoding='utf-8'):
if i.strip('\n') == 'abc':
new_str = i.replace('abc','ABC')
f2.write(new_str)
else:
f2.write(i)

f2.close()

os.rename('aa_new.txt','aa.txt')








posted @ 2019-01-09 20:12  MarkaiElsa  阅读(126)  评论(0编辑  收藏  举报