文件基本操作:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# -*- coding: utf-8 -*- from idlelib.IOBinding import encoding #简单操作 简单的读写 #获取文件句柄 ''' open() 可以指定打开方式, r:默认是只读的'r' r+:读写的方式打开(写是追加) rb:二进制的方式读文件 w:可以指定只写的文件'w' , w 这种方式 会创建一个文件,会覆盖掉你创建的文件,要谨慎使用 w+:写读的方式打开(写是以追加的方式),不常用 wb:二进制写 a:只写的方式打开文件,在文件末尾追加,不会覆盖原有数据 a+:追加读 ab:追加二进制 ''' f = open("lyrics1",'a') #读文件 #data =f.read() #print(data) #写文件 f.write("哈哈哈") f.close()
文件操作方法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# -*- coding: utf-8 -*- import sys,time ''' #读取5行数据 ''' f = open("lyrics",'r') for i in range(5): # print( f.readline()) pass f.close() ''' #readlines() 将文件变成列表 ------------不推荐!!! #不打印第3行 ''' f = open("lyrics",'r') for index,line in enumerate(f.readlines()): if index== 3: # print("------------这是第三行---------------") continue # print(line.strip()) f.close() ''' 读取文件推荐写法,一行一行读,并且内存中只保存一行数据 ''' count = 0; f = open("lyrics",'r') for line in f: if count ==3: count = count+1 # print("这是第三行++++++++++++++++++") continue # print(line) count = count+1 f.close() ''' 操作文件的指针(光标) ''' f = open("lyrics",'r') #获取当前文件指针的位置,文件指针的位置是字符的数量, #read方法也可以指定 读取字符的数量,比如 f.read(5) print(f.readline()) print(f.readline()) print(f.tell()) #将文件的光标移到指定位置 f.seek(0) print(f.readline()) f.close() #获取文件名字 f = open("lyrics",'r') print(f.name) f.close() ''' 刷新文件,当写文件的时候,将内存的文件存储到磁盘中 ''' f = open("lyrics",'a') f.write("aaa") f.flush() f.close() #flush 还有一个作用,就是 linux 系统安装软件时候的进度条 for i in range(20): sys.stdout.write("#") #刷新 sys.stdout.flush() #等待0.1 秒 time.sleep(0.1) ''' 截断文件 ''' f = open("lyrics1",'a') f.truncate(10) f.close() #自动关闭文件 with open("lyrics1", 'r+') as f: for line in f: print(line)