【Python】基础--文件处理

news/2024/10/21 16:36:06/

在Python中,文件处理涉及打开文件、读取文件内容、写入文件以及关闭文件等操作。以下是有关文件处理的基本知识:

1. 文件的打开

在Python中,可以使用内置的 open() 函数打开文件。open() 函数的基本语法如下:

file_object = open(file_name, mode)
  • file_name: 要打开的文件的路径和名称。
  • mode: 文件打开模式(可选),常用模式包括:
    • 'r': 只读模式(默认)
    • 'w': 写入模式(如果文件存在,则覆盖;如果不存在,则创建新文件)
    • 'a': 追加模式(在文件末尾添加内容)
    • 'b': 二进制模式(例如,'rb''wb'
    • 'x': 排他性写入模式(仅在文件不存在时创建新文件)
# 以只读模式打开文件  
file = open("example.txt", "r")

2. 文件的读取

读取文件内容通常使用 read(), readline()readlines() 方法。

  • read(size): 读取指定数量的字节,如果没有指定,读取整个文件。
content = file.read()  # 读取整个文件内容

readline(): 逐行读取文件,每次读取一行。

first_line = file.readline()  # 读取第一行

readlines(): 读取文件中所有行并返回一个列表,每一行作为列表的一项。

lines = file.readlines()  # 返回所有行的列表

使用示例

file = open("example.txt", "r")  
content = file.read()  # 读取文件内容  
print(content)  
file.close()  # 关闭文件

3. 文件的写入

文件写入通常使用 write()writelines() 方法。

  • write(string): 将字符串写入文件。
file.write("Hello, World!")
  • writelines(lines): 将一个字符串列表写入文件,每个字符串被写入后不自动换行。
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]  
file.writelines(lines)

使用示例

file = open("example.txt", "w")  # 以写入模式打开文件(覆盖)  
file.write("Hello, World!\n")  
file.write("This is a new line.\n")  
file.close()  # 关闭文件

4. 文件的关闭

无论是读取还是写入操作后,应该使用 close() 方法关闭文件,以释放系统资源:

file.close()

5. 使用 with 语句

为了确保文件正确关闭,可以使用 with 语句来处理文件,这样无论操作是否成功,文件都会被自动关闭。

示例

with open("example.txt", "w") as file:  file.write("Hello, World!\n")  file.write("Using with statement for safer file handling.\n")  with open("example.txt", "r") as file:  content = file.read()  print(content)

6. 处理文件异常

在文件处理时,可能会出现各种异常,例如文件未找到、权限不足等。可以使用 try-except 语句来捕获和处理这些异常。

示例

try:  with open("example.txt", "r") as file:  content = file.read()  print(content)  
except FileNotFoundError:  print("File not found.")  
except PermissionError:  print("Permission denied.")

通过掌握以上知识,你可以有效地进行文件的读写和管理。在实际应用中,这些基本操作非常重要,尤其是在处理大量数据或配置文件时。


http://www.ppmy.cn/news/1540836.html

相关文章

一文详解AI模型部署及工业落地方式

最近在复盘今年上半年做的一些事情,不管是训练模型、部署模型搭建服务,还是写一些组件代码等,零零散散是有一些产出。 虽然有了一点点成果,但仍觉着缺点什么。作为深度学习****算法工程师,训练模型和部署模型是最基本…

无人机:无线电波控制技术!

一、无线电波控制技术 通过无线电波与无人机上的接收机进行通信。当飞手在遥控器上操作控制杆时,这些动作会被转换为无线电波信号,并发送给无人机上的接收机。接收机接收到信号后,会解读控制杆的位移,并将其转化为数字信号&#…

万家数科:零售业务信息化融合的探索|OceanBase案例

本文作者:马琳,万家数科数据库专家。 万家数科商业数据有限公司,作为华润万家旗下的信息技术企业,专注于零售行业,在为华润万家提供服务的同时,也积极面向市场,为零售商及其生态系统提供全面的核…

股市形势复杂多变,投资者该如何应对?

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…

基于springboot的网上服装商城推荐系统的设计与实现

基于springboot的网上服装商城推荐系统的设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:idea 源码获取&#xf…

HTML5_引用_语法规范_开发工具_常用标签

目录 1. HTML 语法规范 1.1 基本语法概述 1.2 标签关系 2. HTML 基本结构标签 2.1 第一个 HTML 网页 1.创建新文件 2.进行保存,这里可以选择保存到桌面,但是后缀名一定要是.html 2.2 基本结构标签总结 3. 网页开发工具 VSCode 的使用 VSCode 工…

并发编程的艺术

Volatile 作用 1. 保证共享变量的可见性(volatile修饰的变量进行操作对其他线程是可见的) 2. 插入读写屏障,防止指令重排序。 volatile 的底层实现 以下代码是对volatile修饰的instance变量赋值的汇编语言 volatile Singleton instance in…

vue后台管理系统从0到1(5)

文章目录 vue后台管理系统从0到1(5)完善侧边栏修改bug渲染header导航栏 vue后台管理系统从0到1(5) 接上一期,我们需要完善我们的侧边狼 完善侧边栏 我们在 element 组件中可以看见,这一个侧边栏是符合我们…