首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python3文件操作-基本操作

Python3中对文件的读写操作使用open函数来完成。

1:获取open函数及返回实例的帮助文档

print(help(open))for item in dir(open('t.txt','w')): print(item)

2:open函数的定义及参数说明

2.1:open函数定义及返回值:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None);

其返回值是一个可迭代对象;

2.2:参数说明

2.3:参数组合

2.4:示例

# encoding=gbk #1:r:读文件,文件不存在抛出FileNotFoundError异常f = open('test.txt','r') # 光标在第一行print(f.readline()) # 光标下移一行print(f.read()) # 读取剩下的print(f.read()) # 再读就为空print(f.read()) # 再读就为空print('*'*60)f.seek(0) # 光标定位到0,可重新读print(f.read())f.close()print('--1--','*'*60)#2:r+:可读写;首先读文件,文件不存在抛出FileNotFoundError异常;# 读之前写,会覆盖f = open('test.txt','r+')f.write('1234') # 直接写会覆盖 光标为0开始的4个字符print(f.read()) # 从光标处开始读(此处为3)f.close() #读之后写, 写到文件末尾f = open('test.txt','r+')print(f.read(1)) # 在写之前进行读操作,后面的写操作会在文件的末尾f.write('1234') # 写在文件的末尾,光标在文件末尾print('[',f.read(),']') # 这里的读为空# f.seek(0)# print('[',f.read(),']')f.close()print('--2--','*'*60)# 3:w: 文件不存在就创建,文件存在就清空f = open('test.txt','w')f.write('1233455')f.close() print('--3--','*'*60)# 4:w+: 可读写,,文件不存在就创建,文件存在就清空;f = open('test.txt','w+')f.write('1233455') # 光标在文件末尾print(f.read()) # 光标在文件末尾,读的内容为空f.seek(0) # 光标在文件开头print('[',f.read(),']') # 光标在文件末尾f.write('888') # 在文件末尾写f.seek(0) # 光标在文件开头f.write('999') # 从光标处覆盖f.close()print('--4--','*'*60) # 5:a:文件不存在就创建,文件存在就在末尾写f = open('test.txt','a') # 光标在文件末尾f.write('1233455')f.close() print('--5--','*'*60)# 6:a+:可读写,文件不存在就创建,存在就在文件末尾写f = open('test.txt','a+') # 光标在文件末尾print(f.read()) # 光标在文件末尾,读的结果为空。f.write('123345599') # 在文件末尾写f.seek(0) # 光标在文件开头print(f.read())f.seek(0) # 光标在文件开头f.write('8888888') # 在文件末尾写,与光标没关系f.close() # 二进制模式 b,与上面的文本模式是一样的操作,

3:文件对象常用方法

4:with open 语法

在open打开文件之后,在处理完文件时,需要调用close对文件进行关闭。open打开文件返回的文件对象,是可迭代对象,同时它也支持上下文管理协议(即对象有__enter__()和__exit__()这两个方法),因此可以使用with 语句来操作,它隐式地调用close方法。

例子:

# encoding=gbk# 1:读取所有行;不需要调用f.close()with open('test.txt','r') as f: print(f.read()) # 2:一行一行读with open('test.txt','r') as f: for item in f: print(item) # item 中有换行符,item[:-1] 可去掉最后一个字符

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200806A04BX200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券