Python开发【第四篇】:Python基础之文件处理

一、文件处理读操作

# f=open('陈粒',encoding='utf-8')
# data=f.read()
# print(data)
# f.close()

# f=open('xxx')
# data=f.read()
# print(data)

#r w a
f=open('陈粒','r',encoding='utf-8')
# data=f.read()
# # print(data)
# print(f.readable())
# print('第1行',f.readline(),end='')
# print('第2行',f.readline())
# print('第3行',f.readline())
# # for i in range(1):
# #     pass
# print('第4行',f.readline())
# print('第5行',f.readline())
# print('第6行',f.readline())
# print('第7行',f.readline())

data=f.readlines()
print(data)
f.close()

二、文件处理写操作

f=open('陈粒1','w',encoding='utf8')
# f.read()
f.write('11111111\n')
f.write('222222222\n')
f.write('333\n4444\n555\n')
# f.writable()
f.writelines(['555\n','6666\n'])
f.writelines(['555\n','6666\n',1]) # 文件内容只能是字符串,只能写字符串
f.close()

三、文件处理追加操作

f=open('陈粒1','a',encoding='utf-8')
f.write('写到文件最后')

四、文件处理模式b模式

# f=open('test11.py','rb',encoding='utf-8') #b的方式不能指定编码
# f=open('test11.py','rb') #b的方式不能指定编码
# data=f.read()
# #'字符串'---------encode---------》bytes
# #bytes---------decode---------》'字符串'
# print(data)
# print(data.decode('utf-8'))
# f.close()

# f=open('test22.py','wb') #b的方式不能指定编码
# f.write(bytes('1111\n',encoding='utf-8'))
# f.write('杨件'.encode('utf-8'))

五、文件处理其他模式

# f=open('xxx','r+',encoding='gbk')
# # data=f.read()
# # print(data)
# # f.write('123sb')
#
#
#
# f.write('sb')

#文件修改
# src_f=open('xxx','r',encoding='gbk')
# data=src_f.readlines()
# src_f.close()
#
# # for i in data:
# #     print(i)
# print(data)
# dst_f=open('xxx','w',encoding='gbk')
# # dst_f.writelines(data)
# dst_f.write(data[0])
# dst_f.close()

# with open('a.txt','w') as f:
#     f.write('1111\n')

# src_f=open('xxx','r',encoding='gbk')
# dst_f=open('xxx','w',encoding='gbk')
# with open('xxx','r',encoding='gbk') as src_f,\
#         open('xxx_new','w',encoding='gbk') as dst_f:
#     data=src_f.read()
#     dst_f.write(data)

f=open('a.txt')
print(f.encoding) #查看文件编码
# f=open('a.txt','r+',encoding='gb2312')
# # data=f.read()
# # print(data)
# f.write('你好')

# f=open('b.txt','r',encoding='utf-8',newline='') #读取文件中真正的换行符号
# f=open('b.txt','r+',encoding='utf-8',newline='') #读取文件中真正的换行符号

# print(f.closed)
# print(f.encoding) #获取文件当前open的编码格式
# f.flush()  #刷新保存文件
# print(f.readlines())

# print(f.tell()) #获取当前光标位置
# f.readline()
# print(f.tell())

# f.seek(1)      #指定光标位置
# print(f.tell())
# print(f.readlines())
# f.seek(3)
# print(f.tell())
# print(f.read())

# data=f.read(1)
# print(data)

# f.truncate(10) #截取文件

# f.flush() #讲文件内容从内存刷到硬盘
#
# f.closed #文件如果关闭则返回True
  • 读取大文件最后一行
for i in f: #这样读文件,不会一下占用很多内存空间
    s = -10  #倒着读,用负数
    while True:
        f.seek(s, 2)  #2表示倒着标识文件
        data = f.readlines()
        if len(data) > 1:
            print('文件最后一行是:%s' % data[-1].decode('utf-8'))
            break
        else:
            s *= 2

本文名称:Python开发【第四篇】:Python基础之文件处理
本文网址:http://hbruida.cn/article/psjhoi.html