文本文件

本文详细介绍了如何在Python中进行文件的读取和写入操作,包括打开文件的不同模式、读取和写入文本文件的方法,以及处理二进制文件的技巧。文章还提供了迭代文本行、读取单词和字符的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读取和写入

打开文件时需要指定文件的名字。
如果文件存储在其他文件夹时要在文件名前面加上文件夹路径;
如果读取与程序在相同文件夹中的文件时,直接函数打开文件。

  • 打开文件

以读模式打开

infile=open('input.txt','r')

返回一个与文件关联的文件对象。
调用open()函数返回的文件对象必须保存在一个变量中,所有处理文件的操作都通过这个文件对象来完成。

以写模式打开

outfile=open('input.txt','w')

如果输出文件已经存在,在写入新数据之前会被清空;
如果文件不存在会创建一个空文件。处理完文件之后确定使用cloes()方法关闭文件:

infile.close()
outfile.close()

如果程序以写模式打开了文件,但退出时没有关闭文件,有些输出可能并没有写入到磁盘文件。

  • 读取文件
line=infile.readline()  #包括表示行尾的换行符\n
line=infile.readline()
while line!='':
	Process
	line=infile.readline()
  • 写入文件
    write()方法
    接受单个字符作为参数 并立刻将字符串写入。
    字符串被追加到文件尾部,跟在之前写入到文件得任何文本后面。
#显式写一个换行符另起一行
>>>outfile.write('abc\n') 
#写入格式化的字符串
>>>outfile.write('%15.2f\n'%value)
>>>print('{:>15}'.format('-'*10),file=outfile)

print()函数写入

print('abc',file=ooutfile) #自带换行符
print('abc',end='',file=ooutfile) #使用end参数修改换行

文本输入和输出

1.迭代文本中的行

for line in infile:
	print(line)
#line 包括\n

在使用输入字符串之前必须删除换行符(空白字符:空格、制表、换行符)

#删除字符串尾部得指定字符
line=line.rstrip()  #尾部,右侧
line=line.lstrip()  #首部,左侧
line=line.strip()   #两侧
line=line.rstrip('.?')  #指定

2.读取单词
先读取一行,然后将其分割成独立的单词

#返回在每个空白字符处对原始字符串进行切换得到的子字符串的列表,
#并且按在字符串中出现的相同顺序存储到一个列表wordlist中。
wordlist=line.split()
for word in wordlist:
	word.rstrip('.,?!') #删除标点
	print(word)
	

3.读取单个字符
read()方法接收一个参数用来指定要读取的字符数量,返回包含读取的字符的字符串。

char=infile.read(1) #每次读取一个

while char!='':
	Process
	char=infile.read(1)

二进制文件

1.读写

infile=open(filename,'rb')
infile=open(filename,'wb')

不能读取文本字符串,而是独立的字节

theBytes=infile.read(4) #读取4个字节

read()方法
在这里插入图片描述

在这里插入图片描述
2.随机访问

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值