Python基础学习 -- 文件操作

news/2024/11/27 19:29:34/

一、open函数

1、打开要操作的文件

2、第一个参数:要打开文件的路径

3、第二个参数:打开文件的方式

r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+: 打开一个文件用于读写。文件指针将会放在文件的开头。

rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

二、读文件操作

在同级目录添加一个txt文件,里面随便写点数据,然后开始读文件操作

file=open("aiyou.txt","r")#
#print(file.read())#读取所有数据,可以添加一个参数,就是读几个数据
#print(file.readline())#读取一行数据
print(file.readlines())#读取所有行数据,包括回车
file.close()

三、写文件操作

写操作一般用的a+模式,在后面追加数据,如果是w+模式,会覆盖以前的内容

file=open("aiyou.txt","a+")
file.write("aiyou")
file.close()

四、设置编码

当读的文件有中文时,需要加一下编码格式,encoding

file=open("aiyou.txt","r+",encoding="utf8")
print(file.read())
file.close()

五、tell读取光标所在位置

file=open("aiyou.txt","r+",encoding="utf8")
print(file.read(3))
print(file.tell())
file.close()
运行结果:
aiy
3

六、seek读取文件任意位置

file=open("aiyou.txt","r+",encoding="utf8")
file.seek(3,0)#从头开始往后移动3个位置
print(file.read(3))
file.close()

七、with函数

可以省略操作,比如不用每次操作完后不用再写close函数

with open("aiyou.txt","r",encoding="utf8") as file:print(file.read())


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

相关文章

2.4总线操作和定时

文章目录一、引子二、介绍1.总线周期2.总线定时规范三、同步定时方式1.过程2.特点3.优缺点①优点②缺点四、异步定时方式1.介绍2.三种方式(1)不互锁方式(2)半互锁方式(3)全互锁方式3.优缺点①优点②缺点五、…

WebRTC系列-Qos系列之接收NACK

文章目录 1. 主要调用流程1.1 RTCP和RTP包区分1.2 查找丢失包2. RTX在文章 WebRTC系列-Qos系列之RTP/RTCP源码分析-RTP/RTCP包解析-3的2.3.3章节介绍了NACK包在WebRTC中解析方式及RFC规定协议的定义。 这篇文章开始,详细分析其接受RTCP包到解析nack的处理流程; 1. 主要调用流…

一、pyhon准备工作篇(黑马程序猿-python学习记录)

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 1. python官网 2. 检查是否安装完毕 3. pycharm官网 5. phcharm更换主题 6. 新建第一个python文件 7. pycharm字体大小设置 ​​​​​​​8. 设置快捷键 设置字体大小 ​​​​​​…

【数据结构之二叉树系列】二叉树的基本知识

目录前言一、树1、树的相关概念(1)结点(2)结点的度(3)叶结点(4)分支结点(5)父亲结点(6)子节点(7)树的度&#…

【c语言】数据结构-顺序表

主页:114514的代码大冒险 qq:2188956112(欢迎小伙伴呀hi✿(。◕ᴗ◕。)✿ ) Gitee:庄嘉豪 (zhuang-jiahaoxxx) - Gitee.com 文章目录 目录 文章目录 前言 一、顺序表是什么? 二、项目功能的逐一实现(基本&a…

【求职】济南地区-运维工程师

自我介绍 学历 全日制统招专升本,专科18年毕业,本科20年毕业。 专业 专科计算机网络,本科计算机应用与科学 职业 山东人,在北京一家创业公司从事运维工程师岗位。目前薪资16*16。 个人经历 2015-2018 初识网络 专科学校期…

MySQL server options

介绍 MySQL安装部署时,经常会关注一些参数是否合理。其实这些参数分为两类型。环境中调整的绝大部分是引擎层方面的。服务层参数,就是mysqld服务启动时的参数,如:datadir,port,socket之类的的,…

Kotlin中标准库函数(apply、let、run、with、also、takeIf、takeUnless)的使用详解

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家 👉点击跳转到教程 一、apply函数 apply apply函数可以看作是一个配置函数,你可以传入一个接收者,然后调用一系列函…