Python基础教程学习-文件

标准库

此处不详细讲解 参考PDF第10章
在这里插入图片描述

文件

文件和流

打开文件

如果当前目录中有一个名为somefile.txt的文本文件(可能是使用文本编辑器创建的),则可像下面这样打开它:

>>> f = open('somefile.txt','r')

第二个参数代表打开文件模式,默认模式为rt,具体模式如下
在这里插入图片描述
在这里插入图片描述

文件基本方法

  1. 读取和写入
调用 f.write(string) 时,你提供的字符串都将写入到文件中既有内容的后面
>>> f = open('somefile.txt', 'w')
>>> f.write('Hello, ')
7
>>> f.write('World!')
6
>>> f.close()
>
>>> f = open('somefile.txt', 'r')
>>> f.read(4)
'Hell'
>>> f.read()
'o, World!'
  1. 读取和写入行
要读取一行(从当前位置到下一个分行符的文本),可使用方法 readline 。
调用这个方法时,可不提供任何参数(在这种情况下,将读取一行并返回它);
也可提供一个非负整数,指定 readline 最多可读取多少个字符。
因此,如果 some_file. readline() 返回的是 'Hello, World!\n' ,那么some_file.readline(5) 返回的将是 'Hello' 。
要读取文件中的所有行,并以列表的方式返回它们,可使用方法 readlines 。

方法 writelines 与 readlines 相反 接受一个字符串列表(实际上,可以是任何序列或可迭代对象),并将这些字符串都写入到文件(或流)中
写入时不会添加换行符,因此你必须自行添加
  1. 关闭文件
要确保文件得以关闭,可使用一条 try / finally 语句,并在 finally 子句中调用 close 。
# 在这里打开文件
try:
	# 将数据写入到文件中
finally:
	file.close()
	
实际上,有一条专门为此设计的语句,那就是 with 语句。
with open("somefile.txt") as somefile:
	do_something(somefile)

在这里插入图片描述

迭代文件内容

每次一个字符(或字节)

with open(filename) as f:
	char = f.read(1)
	while char:
		process(char)
		char = f.read(1)

with open(filename) as f:
	while True:
		char = f.read(1)
		if not char: break
		process(char)

每次一行

with open(filename) as f:
	while True:
		line = f.readline()
		if not line: break
		process(line)

读取所有内容

with open(filename) as f:
	for char in f.read():
		process(char)

with open(filename) as f:
	for line in f.readlines():
		process(line)

使用 fileinput 实现延迟行迭代

import fileinput
for line in fileinput.input(filename):
	process(line)

文件迭代器

with open(filename) as f:
	for line in f:
		process(line)

for line in open(filename):
	process(line)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值