python 中 with open() 中的几种写入方式

python 中 with open() 中的几种写入方式




在Python中,with open() 语句提供了多种写入文件的方式。以下是几种常见的写入模式及其使用方法:

1. 'w' - 写入模式

  • 如果文件已存在,它的内容将被清空。
  • 如果文件不存在,将会创建一个新文件。

示例代码:

with open('example.txt', 'w', encoding='utf-8') as file:
    file.write('Hello, world!\n')

2. 'a' - 追加模式

  • 如果文件已存在,新数据将在文件末尾追加。
  • 如果文件不存在,将会创建一个新文件。

示例代码:

with open('example.txt', 'a', encoding='utf-8') as file:
    file.write('This is appended text.\n')

3. 'w+' - 写入+读取模式

  • 如果文件已存在,它的内容将被清空。
  • 可以进行读写操作。

示例代码:

with open('example.txt', 'w+', encoding='utf-8') as file:
    file.write('Initial text\n')
    file.seek(0)  # 移动文件指针到开始位置
    content = file.read()
    print(content)

4. 'a+' - 追加+读取模式

  • 如果文件已存在,新数据将在文件末尾追加。
  • 可以进行读写操作。

示例代码:

with open('example.txt', 'a+', encoding='utf-8') as file:
    file.write('Additional text\n')
    file.seek(0)  # 移动文件指针到开始位置
    content = file.read()
    print(content)

5. 'x' - 创建/写入模式

  • 如果文件已存在,则会抛出FileExistsError
  • 如果文件不存在,则创建新文件并写入。

示例代码:

try:
    with open('newfile.txt', 'x', encoding='utf-8') as file:
        file.write('New file created.\n')
except FileExistsError:
    print("File already exists.")

6. 二进制写入模式

  • 'wb' - 写入二进制数据。
  • 'ab' - 追加二进制数据。
  • 'w+b' - 写入+读取二进制数据。
  • 'a+b' - 追加+读取二进制数据。

示例代码:

# 写入二进制数据
with open('example.bin', 'wb') as file:
    file.write(b'\x00\x01\x02\x03')

# 追加二进制数据
with open('example.bin', 'ab') as file:
    file.write(b'\x04\x05\x06')

# 读取二进制数据
with open('example.bin', 'rb') as file:
    data = file.read()
    print(data)

注意事项:

  • 在写入文本时,通常需要指定encoding参数,例如'utf-8'
  • 使用seek()方法可以移动文件指针的位置。
  • 使用with open()确保文件在使用后会被自动关闭,即使出现异常也是如此。

这些模式可以满足大多数文件写入的需求。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值