当前位置: 首页 > article >正文

搞定python之六----文件读写

本文是《搞定Python》系列文章的第六篇,介绍文件的读写操作。文件读写相对于java要简单的多,板式代码也比较多,最后用with方式打开文件,可以保证文件正常关闭。

1、读文件

一般的文件读写过程:打开、读写、关闭。python文件读取相对于java要简单的多,咱们一步步来,逐步完善。

# python文件读取
# Windows系统有文件扩展名的概念,linux、mac都没有,不影响文件读取

f = open('test.txt')   
print(f.read())
f.close()

此时,要是你的当前目录没有test.txt这个文件,就会报异常,如图:
在这里插入图片描述
此时大家能想到java读取文件时的模板式代码,try…catch…finally。在python其实过程相似,只是写法有点不同。看下面代码:

# python文件读取

f = None      # None就是java中的null
try:
    f = open('test.txt')
    print(f.read())
except FileNotFoundError as e:
    print("文件未找到!", e.filename)
finally:
    if f is not None:     # 判断f不为空时
        f.close()

此时再次执行时就打印:文件未找到! test.txt。异常处理完成了,下面咱们读取已经存在的文件。

注意:test.txt创建到和你这个python代码相同的目录,否则还是读不到。你也可以用绝对路径的方式,比如:c:/a/b/c/test.txt(windows),或者 /Users/a/b/c/test.txt(mac、linux)。文件创建完成后,代码不用改,直接执行代码,再看看:
在这里插入图片描述
再写一个按行读取的代码:

# python文件读取

f = None
try:
    f = open('test.txt', 'r')    # 以只读方式打开
    for line in f.readlines():
        print(line)

except FileNotFoundError as e:
    print("文件未找到!", e.filename)
finally:
    if f is not None:
        f.close()

代码很简单,但是模板式的代码太多,python中也提供了try…resources的方式,咱们改一下:

with open('test.txt', 'r') as f:
    for line in f.readlines():
        print(line)

好了,python读文件就说完了。

2、写文件

有了读文件的基础,写文件就简单多了。直接看代码:

# python写文件

with open("test2.txt", 'a') as f:    # 以追加的方式打开,a代表append
    for i in range(0, 10):
        f.write("第 %s 行,你好。\n" % i)

在这里插入图片描述
好了,就到这里了。
//~~

原文地址:https://blog.csdn.net/maodou95838/article/details/146283565
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/587332.html

相关文章:

  • 【IDEA插件开发】IntelliJ IDEA 插件开发指南
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(47)乾坤图演路径 - 欧拉路径(Hierholzer 算法)
  • 使用DeepSeek和墨刀AI,写PRD文档、画原型图的思路、过程及方法
  • linux系统命令——权限
  • 【图论】并查集的学习和使用
  • 背诵--2
  • 如何用Deepseek制作流程图?
  • 2025年1月-3月Java面试题、笔记、简历模版汇总(需要自取)
  • 解锁C++:指针与数组、字符串的深度探秘
  • MySQL复习(检查本地MySQL是否安装、DataGrip数据库可视化工具使用、增删改查基础语法、唯一索引、SQL简单函数)
  • 【科研绘图系列】R语言绘制网络相关图(cor network plot)
  • 11 | 给 Gin 服务器添加中间件
  • Mac下安装Zed以及Zed对MCP(模型上下文协议)的支持
  • PyQt基础——简单闹钟ui实现(图形化界面、定时器事件)
  • C#的简单工厂模式、工厂方法模式、抽象工厂模式
  • Umi-OCR 全家桶
  • C++20 `<bit>` 中的整数 2 的幂运算和 `std::bit_cast`:由浅入深的探索
  • 定制开发开源 AI 智能名片 S2B2C 商城小程序源码在小程序直播营销中的应用与价值
  • matlab 量化交易投资策略研究
  • 基于 Verilog 的 4 位二进制计数器设计与实验:从理论到实践的深度剖析