python开发基础(三)python与文件系统
# 文件操作 """ r, 只读 w, 只写 a, 追加 r+, 读写 w+, 写读 a+, 读写 """ # find = open('文件', 'r', encoding='utf8') # /文件目录, 'r w a'文件操作, encoding为编码 # data = find.read() # print(data) # 文件操作模式, 读 # find.readable() # 查看是否可读 # find.readline() # 读1行 # print(find.readlines(2)) # 读n行, 无参数读全部, 输出列表 # find.close() # 文件操作模式, 写 # find2 = open('文件', 'w', encoding='utf8') # 如果文件不存在建立文件 文件写必须都是字符串 # # 如果使用read进行读操作, 文件如果实在写的状态下,则文件内容全部删除 # # find2.read # find2.write('11111111\n') # 文件自动不会换行, 加\n表示换行 # find2.write('22222222\n') # find2.write('33333333\n') # # find2.writable() # 查看是否可写 # find2.writelines(['444444\n', '5555555\n']) # 写多行, 传入值为列表 # find2.close() # 文件操作模式, 追加 # find3 = open('文件', 'a', encoding='utf8') # find3.write('\n文件末尾') # find3.close() # 读写 # r_file = open('文件', 'r', encoding='utf8') # save = r_file.readlines() # r_file.close() # # w_file = open('文件new', 'w', encoding='utf8') # # w_file.writelines(save) # w_file.write(save[0]) # w_file.close() # 文件处理b模式 /b的模式不能使用encoding # r = open('文件', 'rb') # data_r = r.read() # print(data_r) # w = open('文件', 'wb') # w.write(bytes('111\n', encoding='utf8')) # w.write(bytes('小明\n'.encode('utf8'))) # a = open('文件', 'ab') # a.write(bytes('\n小明'.encode('utf8'))) # 文件其他操作方法 """ f = open('文件new', 'r+', encoding='utf8') data = f.read() print(data) f.write('111\n') f.flush() # 保存文件 # f.name # 文件名 f.readlines() f.tell() # 光标所在位置 (以字节计算) f.seek(0) # 光标位置, 只要不是read方法, 其他都是以字节计算光标 f.truncate() # 截断 """ # seek 用法 光标位置 """ f = open('文件new', 'r+', encoding='utf8') print(f.tell()) f.seek(3) # 默认为0 print(f.tell()) print(f.read()) """ # 模拟读日志文件 # 遍历文件 # f = open('file/文件', 'rb') # data = f.readlines() # print(data[-1].decode('utf8')) # seek 光标 """ f = open('file/文件', 'rb') for i in f: offs = -5 while True: f.seek(offs, 2) data = f.readlines() if len(data) > 1: print('文件最后一行是%s' % (data[-1].decode('utf8'))) break offs *= 2 pass """
本文来自博客园,作者:关于段主任的一切,转载请注明原文链接:https://www.cnblogs.com/fairylandfuture/p/14685566.html