文本文件
1.建立文件
Build_new_file.py
newfile=r'C:\Users\86176\Desktop\BOOK\1.txt' #定义需要建立的文本文件和路径
b_new_file = open(newfile,'w') #用open函数定义一个新的文本文件
b_new_file.close() #用close()方法关闭新建的文件
print("%s成功建立!"%(newfile))
#C:\Users\86176\Desktop\BOOK\1.txt成功建立!
如果不关闭新建立的文本文件,则打开的文件对象一直留在内存中容易出现内存溢出等错误.
2.读写文件
rw_new_f
newfile=r'C:\Users\86176\Desktop\BOOK\1.txt' #指定需要建立或打开的文本名称和路径
b_new_file = open(newfile,'w') #用w模式打开文件
t_n=b_new_file.write('I am mori')
b_new_file.close()
print("往文件里写入了%d字节内容"%(t_n))
b_new_file=open(newfile,'r+') #以只读方式打开1.txt文件
tt=b_new_file.read() #用文件对象.read()方法读取内容
print(tt)
t_n=b_new_file.write('\n 是的,是我!') #继续写入新内容
b_new_file.close()
print("往文件里写入了%d字节内容"%(t_n))
print(t_n)
# 往文件里写入了9字节内容
# I am mori
# 往文件里写入了8字节内容
连续用read()方法,write()方法操作文件
3.一次写入多行
nums=['one','two','three','four','five','six','seven']
t=open(r'C:\Users\86176\Desktop\BOOK\1.txt','a')
for get_one in nums:
t.write(get_one+'\n')
t.close()
print('连续写入完成')
windows系统下一行结束\r\n unix系统下是\n Macintosh操作系统下是\r
4.读取
t=open(r'C:\Users\86176\Desktop\BOOK\1.txt','r')
dd=1
while dd:
dd = t.readline() #一次读一行
print(dd)
t=open(r'C:\Users\86176\Desktop\BOOK\1.txt','r')
L_s=t.readlines() #以列表格式读取多行
print(L_s)
5.连续读特定字节数量的内容
6.指定位置读内容
f=open(r'C:\Users\86176\Desktop\BOOK\1.txt','r')
print(f.readline(2)) #第一次读取文件头两个字节
print(f.readline()) #继续读取同一行剩余字节
print(f.read(4)) #继续读取4个字节
print(f.read(4)) #继续读取4个字节
print(f.tell()) #获取↑执行后的当前位置
print(f.read(1)) #继续读一个字节
print(f.tell()) #当前位置
#=======================执行结果
# on
# e
#
# two
#
# thre
# 14
# e
# 15
f.seek(offset[,whence])
f代表已打开的文件,seek()方法重新指定将要读写的当前位置.
offset参数设置位置的偏移量的字节数
whence参数可选,确定文件起计位置,
默认值为SEEK_SET(或0),代表从文件的开始位置+偏移量来确定当前位置
SEEK_CUR(或1),代表当前位置起计
SEEK_END代表从文件的结尾起计
在前面的基础下继续执行以下代码
f=open(r'C:\Users\86176\Desktop\BOOK\1.txt','w')
print(f.seek(17))
f.write('---') #执行后打开文件发现其他内容都丢失,只能在第17字节处发现新写入的---
f.close()