Python入门篇【文件处理】

Python【文件处理】


文章目录


提示:以下是本篇文章正文内容,下面案例可供参考

一、编码定义

编码是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。
通过使用编码技术(密码本)将文本文件内容内容翻译成0和1来让计算机进行识别处理。
不同的编码规则将内容翻译成二进制也是不同的。

  • UTF-8
  • GBK
  • Big5
  • ...

计算机只认识0和1,通过将文本内容通过编码规则翻译成0和1才能保存在计算机中并进行处理。


二、文件读取关

在操作系统中,以文件为单位管理磁盘中的数据。对文件的操作主要包括【打开,关闭,读取,写入】,步骤分为:

  1. 【打开】文件
  2. 【读写】文件
  3. 【关闭】文件

2.1 open函数

通过open函数可以打开一个已经存在的文件(不存在则创建)。

python 复制代码
# 语法
open(name,mode,encoding)
  • name:文件路径(绝对/相对路径)
  • 打开文件的模式(r,w,a)
    • r:以只读模式打开文件,文件指针在文件的开头【默认】。
    • w:用于写入,从头开始编辑,原有内容覆盖,文件不存在则新建。
    • a:用于追加内容,新的内容会被写入到已有内容之后,文件不存在则新建。
  • 编码格式
python 复制代码
# 文件操作
# 1.查找文件
f = open('E:/FileBases/demo33.txt', 'r', encoding='utf-8')
print(f)

f是open函数的一个文件对象,是py中的一个特殊类型,其拥有属性和方法,通过对象.属性或对象.方法进行调用。


2.1 read,readline,readlines函数

读取文件,不写参数表示读取所有内容,写数字表示读取多少个字节

python 复制代码
# 语法
文件对象.read(num) # num表示读取文件的长度(单位:字节),不写则表示读取文件的所有数据。
文件对象.readlines() # 按照行的方式将文件中的所有内容进行读取,返回一个列表,每一行数据代表一个元素。
python 复制代码
# 文件操作
# 1.查找文件
f = open('E:/FileBases/demo33.txt', 'r', encoding='utf-8')
print(f)
# 2.读取文件,不写参数表示读取所有内容,写数字表示读取多少个字节
print(f.read())

第二个read会在第一个read的结尾处继续输出。
readline:一次输出一行数据。
readlines示例如下:

python 复制代码
# 文件操作
# 1.查找文件
f = open('E:/FileBases/demo33.txt', 'r', encoding='utf-8')
print(f)
# 2.read读取
# print(f.read(1))
# 3.readlines读取
file_list = f.readlines()
print(file_list)

2.3 close函数

通过close关闭文件对象,如果不关闭,文件对象会被一直占用。

python 复制代码
# 语法
文件对象.close()

2.4 with open函数

通过使用with open函数可以在操作完成后,自动执行close函数来关闭文件,避免文件杯一直占用。

python 复制代码
with open('E:/FileBases/demo33.txt', 'r', encoding='utf-8') as f:
    for line in f:
        print(line)

三、总结


相关推荐
玄同7653 分钟前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
消失的旧时光-19439 分钟前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
yq19820430115610 分钟前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class11 分钟前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
有位神秘人12 分钟前
kotlin与Java中的单例模式总结
java·单例模式·kotlin
Jinkxs13 分钟前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&14 分钟前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
golang学习记17 分钟前
IntelliJ IDEA 2025.3 重磅发布:K2 模式全面接管 Kotlin —— 告别 K1,性能飙升 40%!
java·kotlin·intellij-idea
小瑞瑞acd19 分钟前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
爬山算法20 分钟前
Hibernate(89)如何在压力测试中使用Hibernate?
java·压力测试·hibernate