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)

三、总结


相关推荐
爬山算法5 分钟前
Hibernate(78)如何在GraphQL服务中使用Hibernate?
java·hibernate·graphql
MACKEI7 分钟前
服务器流式传输接口问题排查与解决方案
python·nginx·流式
独断万古他化10 分钟前
【Spring 核心:AOP】基础到深入:思想、实现方式、切点表达式与自定义注解全梳理
java·spring·spring aop·aop·切面编程
编程彩机22 分钟前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
bbq粉刷匠23 分钟前
Java-排序2
java·数据结构·排序算法
编程彩机26 分钟前
互联网大厂Java面试:从Spring WebFlux到分布式事务的技术场景解析
java·微服务·面试·分布式事务·spring webflux
毕设源码-郭学长27 分钟前
【开题答辩全过程】以 基于Python爬取学院师资队伍信息的设计与分析为例,包含答辩的问题和答案
开发语言·python
Jm_洋洋31 分钟前
【C++进阶】虚函数、虚表与虚指针:多态底层机制剖析
java·开发语言·c++
小马爱打代码33 分钟前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
时艰.39 分钟前
Java 并发编程:Callable、Future 与 CompletableFuture
java·网络