Python入门教程 —— 文件操作

embedded/2025/1/12 16:44:30/

1.文件的打开和关闭

想一想:

如果想用word编写一份简历,应该有哪些流程呢?

  1. 打开word软件,新建一个word文件
  2. 写入个人简历信息
  3. 保存文件
  4. 关闭word软件

同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的

  1. 打开文件,或者新建立一个文件
  2. 读/写数据
  3. 关闭文件

打开文件

python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件

open(文件路径,访问模式)

示例如下:

python">f = open('test.txt', 'w')

说明:

文件路径

文件的路径分为相对路径和绝对路径两种。

  • 绝对路径:指的是绝对位置,完整地描述了目标的所在地,所有目录层级关系是一目了然的。

    • 例如:C:/Users/chris/AppData/Local/Programs/Python/Python37/python.exe,从电脑的盘符开始,表示的就是一个绝对路径。
  • 相对路径:是从当前文件所在的文件夹开始的路径。

    • test.txt,是在当前文件夹查找 test.txt 文件
    • ./test.txt,也是在当前文件夹里查找test.txt文件, ./ 表示的是当前文件夹。
    • ../test.txt,从当前文件夹的上一级文件夹里查找 test.txt 文件。 ../ 表示的是上一级文件夹
    • demo/test.txt,在当前文件夹里查找 demo这个文件夹,并在这个文件夹里查找 test.txt文件。

访问模式:

访问模式说明
r以只读方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,则报错。这是默认模式。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+以二进制格式打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

关闭文件

close( )

示例如下:

python"># 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')# 关闭这个文件
f.close()

2.文件的读取和写入

写数据(write)

使用write()可以完成向文件写入数据

demo: 新建一个文件 file_write_test.py,向其中写入如下代码:

python">f = open('test.txt', 'w')
f.write('hello world, i am here!\n' * 5)
f.close()

运行之后会在file_write_test.py文件所在的路径中创建一个文件test.txt,并写入内容,运行效果显示如下: 

注意:

  • 如果文件不存在,那么创建;如果存在那么就先清空,然后写入数据

读数据(read)

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

demo: 新建一个文件file_read_test.py,向其中写入如下代码:

python">f = open('test.txt', 'r')
content = f.read(5)  # 最多读取5个数据
print(content)print("-"*30

http://www.ppmy.cn/embedded/153332.html

相关文章

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝,又进来偷我源码啦👊👊👊。欢迎偷源码 🔥🔥🔥 获取免费源码以及更多源码,可以私信联系我 我们常常…

爬虫基础之爬取某基金网站+数据分析

声明: 本案例仅供学习参考使用,任何不法的活动均与本作者无关 网站:天天基金网(1234567.com.cn) --首批独立基金销售机构-- 东方财富网旗下基金平台! 本案例所需要的模块: 1.requests 2.re(内置) 3.pandas 4.pyecharts 其他均需要 p…

彩漩科技入选2024AIGC赋能行业创新引领者及AI出海先锋

2024 年 12 月 26 日至 27 日,由中国产业海外发展协会指导、极新主办、前海香港科技青年之家与粤港澳大湾区青年创新创业中心联合主办的「重度垂直 2024 极新 AIGC 峰会」在深圳、香港两地隆重举行。彩漩科技荣登《2024 AIGC 赋能行业创新引领者消费 TOP20》和《20…

智元机器人完成 1000 台通用具身机器人下线

2025 年 1 月 6 日,智元机器人宣布其量产的第 1000 台通用具身机器人正式下线245。此次下线的机器人中,双足人形机器人 731 套,型号为远征 A2、灵犀 X1;轮式通用机器人 269 套,型号为远征 A2-D、A2-W57。 智元机器人位…

树的模拟实现

一.链式前向星 所谓链式前向星,就是用链表的方式实现树。其中的链表是用数组模拟实现的链表。 首先我们需要创建一个足够大的数组h,作为所有结点的哨兵位。创建两个足够大的数组e和ne,一个作为数据域,一个作为指针域。创建一个变…

Git之提交和撤销操作

文章目录 前言一、工作区、暂存区和版本库的概念1.介绍2.它们之间的关系 二、命令介绍1.git add2.git commit3.git log4.git status5.git diff6.git reset7.git reflog8.git checkout9.git rm [file] 三、.git目录总结 前言 本文从工作区,暂存区和版本库的概念引入, 介绍了Git…

网络安全系列 之 协议安全

1. SSL/TLS协议 对于HTTPS、FTPS等协议,其底层使用了SSL/TLS协议。 目前SSL/TLS协议版本共有5个:SSL2.0、SSL3.0、TLS1.0、TLS1.1、TLS1.2 SSL2.0禁止使用,原因:MD5做消息认证算法、容易受到中间人攻击从而被选择弱加密算法、加密…

Linux常用指令

目录 1 概述2 指令2.1 简单指令2.2 解压缩2.2.1 tar.bz2和tar.gz2.2.2 单独bz22.2.3 zip2.2.4 7z 2.3 网卡操作 1 概述 本章主要是记录一些日常用到的Linux指令,方便自己忘记的时候查找,也为有需要的人提供参考。 2 指令 2.1 简单指令 指令解释cat /…