Python读写文件

Python读写文件

一、读文件

  • open方法

    • open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError
    • 使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
    • 常用格式
      1. open(file, mode='r');
      2. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode);
    • 完整格式
      1. open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
      2. file: 必需,文件路径(相对或者绝对路径);
      3. mode: 可选,文件打开模式;
      4. buffering: 设置缓冲;
      5. encoding: 一般使用utf8;
      6. errors: 报错级别;
      7. newline: 区分换行符;
      8. closefd: 传入的file参数类型;
      9. opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
    • mode参数
    模式描述
    t文本模式 (默认)。
    x写模式,新建一个文件,如果该文件已存在则会报错。
    b二进制模式。
    +打开一个文件进行更新(可读可写)。
    U通用换行模式(Python 3 不支持)。
    r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
    r+打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
    w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
    w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
    a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
  • 使用示例

file_name = "C:\Users\wangsq\Desktop\data2.txt"
data_file = open(file_name, 'r')
# 按行读取
for line in data_file:
	print(line)
# 记得要关闭文件
data_file.close()

二、写文件

  • write方法
    • write() 方法用于向文件中写入指定字符串。
    • 在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。
    • 如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not ‘str’。
    • write() 方法语法:fileObject.write(str), str代表要写入文件的字符串,函数返回的是写入的字符长度。
  • 使用示例
# 新建一个test.txt文件,并写入
output_fp = open("test.txt", "w")
# 写入一句hello world
output_fp.write("hello world")
# 写入换行符
output_fp.write("\n")
# 写入一句thanks
output_fp.write("thanks")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_长风_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值