python3文件操作-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] 可去掉最后一个字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值