1. 打开文件
1.1 open函数
1.2 打开文件的方式
打开方式 | 含义 |
---|---|
‘r’ | 以读方式打开文件(默认) |
‘w’ | 以覆盖写方式打开文件,如果文件不存在则先创建再打开 |
‘a’ | 以追加写方式打开文件,如果文件不存在则先创建再打开 |
‘x’ | 创建文件并以写方式打开,如果文件已存在则会抛出异常 |
‘b’ | 以二进制方式打开文件 |
‘t’ | 以文本方式打开文件(默认) |
‘+’ | 打开磁盘文件进行更新(读取与写入) |
1.3 打开文件的编码方式
f = open('d:/Python/test.txt', 'r', encoding='utf-8')
- encoding参数其实并不是open函数的第三个参数,open函数还有一些其他的参数,这些参数都带有默认值,因此在调用open函数时可以不用设置这些参数
- 如果在调用open函数时要设置encoding参数,需要通过关键字参数的方式将‘utf-8’参数指定传递给encoding形参
2. 关闭文件
2.1 close函数
f = open('d:/Python/test.txt', 'r', encoding='utf-8')
#todo
f.close()
2.2 打开文件的上限
flist = []
count = 0
while True:
f = open('F:\test\test.txt','r',encoding = 'utf-8')
flist.append(f)
count += 1
print(count)
![[Pasted image 20231204170346.png]]
- 上述代码中用列表对所有打开的文件对象进行了保存,如果不进行保存,那么Python内置的垃圾回收机制会在文件对象销毁的时候自动关闭文件
- 虽然垃圾回收机制能够自动关闭文件,但垃圾回收机制关闭文件不一定及时,所以仍然需要我们手动对文件进行关闭,尽量避免依赖自动关闭
- 不能使用被关闭后的文件对象再对文件进行任何操作,否则程序会抛出异常
3. 读文件
3.1 read函数
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.read(7)) # 风急天高猿啸哀
f.close()
3.2 readline函数
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.readline()) # 风急天高猿啸哀,
print(f.readline()) # 渚清沙白鸟飞回。
f.close()
3.3 readlines函数
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.readlines())
#['风急天高猿啸哀,n', '渚清沙白鸟飞回。n', '无边落木萧萧下,n', '不尽长江滚滚来。n', '万里悲秋常作客,n', '百年多病独登台。n', '艰难苦恨繁霜鬓,n', '潦倒新停浊酒杯。']
f.close()
3.4 for循环遍历
f = open('F:/test/test.txt','r',encoding = 'utf-8')
for line in f:
print(line)
f.close()
# 风急天高猿啸哀,
#
# 渚清沙白鸟飞回。
#
# 无边落木萧萧下,
#
# 不尽长江滚滚来。
#
# 万里悲秋常作客,
#
# 百年多病独登台。
#
# 艰难苦恨繁霜鬓,
#
# 潦倒新停浊酒杯。
f = open('F:/test/test.txt','r',encoding = 'utf-8')
for line in f:
print(line, end='')
f.close()
# 风急天高猿啸哀,
# 渚清沙白鸟飞回。
# 无边落木萧萧下,
# 不尽长江滚滚来。
# 万里悲秋常作客,
# 百年多病独登台。
# 艰难苦恨繁霜鬓,
# 潦倒新停浊酒杯。
4. 写文件
4.1 write函数
f = open('F:/test/test.txt','w',encoding = 'utf-8')
f.write('2023')
f = open('F:/test/test.txt','w',encoding = 'utf-8')
f.write('siwen')
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.read()) # siwen
f.close()
f = open('F:/test/test.txt','w',encoding = 'utf-8')
f.write('2023')
f.write('siwen')
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.read()) # 2023siwen
f.close()
f = open('F:/test/test.txt','a',encoding = 'utf-8')
f.write('2023')
f = open('F:/test/test.txt','a',encoding = 'utf-8')
f.write('siwen')
f = open('F:/test/test.txt','r',encoding = 'utf-8')
print(f.read()) # 2023siwen
f.close()
5. 上下文管理器
为了避免程序员忘记关闭文件,Python提供了上下文管理器:
with open('F:/test/test.txt','r',encoding = 'utf-8') as f:
line = f.readline()
print(line)
原文地址:https://blog.csdn.net/weixin_69509728/article/details/134790565
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_43262.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。