心蓝的博客 心蓝的博客
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

心蓝

人生苦短,我用python
首页
  • 零基础

    • python零基础入门
  • 专项

    • 正则表达式
  • web框架

    • django框架
    • drf
技术
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • 编程基础

  • python开发环境搭建

  • 基本数据类型

  • 程序流程控制

  • 函数与代码复用

  • 面向对象

  • 模块和包

  • 文件IO操作

    • 文件概述
    • 字符编码
    • 字节类型
    • python读取文件
    • python写文件
      • 写文本文件
        • 清除写w
        • 追加写a
        • 排它写x
      • 写二进制文件
      • 读写文件
    • 文件指针
  • python零基础入门
  • 文件IO操作
心蓝
2022-12-23
目录

python写文件

# python写文件

# 写文本文件

# 清除写w

案例:将锄禾这首诗写入test.txt文件中

# mode=w 没有文件就创建,有就清除内容,小心使用
with open('test.txt', 'w', encoding='utf-8') as fb:
    fb.write('锄禾\n')
    fb.write('锄禾日当午,汗滴禾下土;\n')
    fb.write('谁知盘中餐,粒粒皆辛苦。\n')
1
2
3
4
5

运行后会发现之前写有静夜思的test.txt内容修改为锄禾,因为w模式会清除原文件内容,所以小心使用。

# 追加写a

案例:将静夜思这首诗追加到test.txt文件中

# mode=a 追加到文件的最后
with open('test.txt', 'a', encoding='utf-8') as fb:
    fb.write('静夜思\n床前明月光,疑是地上霜;\n举头望明月,低头思故乡。\n')
1
2
3

a模式会将内容追加到末尾,写日志就是使用的追加模式。

# 排它写x

案例:在当前目录中创建文件test.txt,存在则不创建

with open('test.txt', 'x', encoding='utf-8') as fb:
    fb.write('')
1
2

上面的代码运行会报错,因为已经存在test.txt文件。担心会覆盖原来的文件时,可以使用排他写。

# 写二进制文件

在写模式后加b即是写二进制模式,这种模式下写入内容为字节数据。

例如:将爬到的图片二进制信息写入文件中。

import requests

url = 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1247698508,1430079989&fm=26&gp=0.jpg'

response = requests.get(url)		# 下载图片

with open('校花.jpg', 'wb') as f:
    f.write(response.content)
1
2
3
4
5
6
7
8

运行上面的代码会下载指定的图片,并写入到当前目录的校花.jpg文件中。(注意:读者在尝试这段代码时肯定会出错,更换图片的url地址即可)

# 读写文件

有时候需要能够同时读写文件,在模式后面加上+号即可给读模式添加写,给写模式添加读。

with open('test.txt', 'r+', encoding='utf-8') as f:
    # 读文件
    print(f.read())
    f.write('草\n离离原上草,一岁一枯荣;\n野火烧不尽,春风吹又生!\n')
1
2
3
4

输出:

锄禾
锄禾日当午,汗滴禾下土;
谁知盘中餐,粒粒皆辛苦。
静夜思
床前明月光,疑是地上霜;
举头望明月,低头思故乡。
1
2
3
4
5
6

本文完,感谢你的耐心阅读,如有需要可加我微信,备注「博客」并说明原因,我们一起进步,下次见。

上次更新: 2022/12/23, 19:09:35
python读取文件
文件指针

← python读取文件 文件指针→

最近更新
01
requests让接口测试如此简单 原创
03-31
02
最简明的python正则教程
03-30
03
pycharm激活码
12-30
更多文章>
Theme by Vdoing | Copyright © 2019-2025 心蓝
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式