【python】(11)文件、异常和模块

文件操作

写入与读取

在Python中,操作文件的步骤为:
打开文件open()->读写文件read()或write()->关闭文件close(),打开文件通过函数来实现。

基础写法

#打开文件  
file = open('路径','打开方式')  
#读取文件  
content = file.read()  
#写入文件  
file.write('写入的内容')  
#关闭文件  
file.close()

示例:

#写入  
file1 = open('abc.txt','w',encoding = 'utf-8')  
file1.write('我爱Python')  
file1.close()  
#读取  
file2 = open('abc.txt','r',encoding = 'utf-8')  
content = file2.read()  
file2.close()  
print(content)

open()函数

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

参数解释

  • file: 要打开的文件路径(绝对路径或相对路径)。
  • mode: 打开文件的模式,默认是'r'(只读模式)。常用的模式包括:
打开方式 解释
r 只读 为输入打开一个文本文件(文件必须存在)
w 只写 为输出打开一个文本文件(如没有文件,则新建)
a 追加 向文本文件尾添加数据(如没有文件,则新建)
x 只写 创建一个文本文件并写入(文件必须不存在)
rb 只读 为输入打开一个二进制文件
wb 只写 为输出打开一个二进制文件
ab 追加 向二进制文件尾添加数据
r+ 读写 为读写打开一个文本文件(文件必须已经存在)
w+ 读写 为读写建立一个新的文本文件
a+ 读写 为读写打开一个文本文件(读写指针定位在最后)
rb+ 读写 为读写打开一个二进制文件
wb+ 读写 为读写建立一个新的二进制文件
ab+ 读写 为读写打开一个二进制文件读写文件的基本语法
  • buffering: 设置文件的缓冲策略。
    • 0:无缓冲。
    • 1:行缓冲(仅适用于文本模式)。
    • 大于1的整数:指定缓冲区大小。
    • -1:使用默认缓冲区大小。
  • encoding: 用于解码或编码文件的编码方式,例如'utf-8'。仅文本模式下有效。一般是’utf-8’或’gbk’。
  • errors: 指定如何处理编码和解码错误,常见值有'strict', 'ignore', 'replace'
  • newline: 控制换行符在读取和写入时的行为。可选值有None, '', '\n', '\r', 和'\r\n'
  • closefd: 如果文件是通过文件描述符(而不是文件名)打开的,这个参数控制文件关闭时是否关闭文件描述符(默认为True)。
  • opener: 一个可调用对象,用于通过自定义方式打开文件描述符,返回文件描述符的整数。

seek()函数

seek() 函数在 Python 中是用来改变文件当前位置的。该函数是文件对象的一部分,允许你移动文件读取指针到文件中的不同位置。这在处理大文件或者需要从特定位置读取数据时非常有用。

file.seek(offset, whence=0)
  • offset:是移动操作的起始位置的偏移量,表示从哪里开始移动。正值表示向前移动,负值表示向后移动。
  • whence:这是可选参数,决定了offset的参考点。它有三个可能的值:
    • 0(默认值):从文件的开头计算偏移量(绝对文件位置)。
    • 1:从当前文件位置计算偏移量。
    • 2:将文件的EOF作为移动的起点。

假设我们有一个名为example.txt的文件,其内容如下:

Hello World
This is a test file.
Python is great!

以下是一个使用seek()函数的示例:

# 打开文件
with open('example.txt', 'r') as<
  • 42
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游码客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值