目录
- 1.文件的概念
- 2.文件的基本操作
- 2.1操作文件的套路
- 2.2操作文件的函数/方法
- 2.3read方法——读取文件
- 2.4打开文件的方式
- 2.5按行读取文件内容
- 2.6文件读写案例——复制文件
- 2.7文件读写中的函数
- 3.文件/目录的常用管理操作
- 4.文本文件的编码方式
- 5.拓展:eval函数
目标:

- 文件的概念
- 文件的基本操作
- 文件/文件夹的常用操作
- 文本文件的编码方式
1.文件的概念
1.1文件的概念和作用
计算机的文件,就是存储在某种长期存储设备上的一段数据
长期存储设备包括:硬盘、U盘、移动硬盘、光盘····
文件的作用:
将数据长期存储下来,在需要的时候使用
1.2文件的存储方式
文本文件和二进制文件
- 文本文件
- 可以用文本编辑软件查看
- 本质上还是二进制
- 例如:Python源文件
- 二进制文件
- 保存的内容不是给人直接阅读的,而是提供给其他软件使用的
- 例如:图片文件、音频文件、视频文件等等
- 二进制文件不能直接使用文本编辑器查看
2.文件的基本操作
2.1操作文件的套路
在计算机中,要操作文件的套路非常固定,一共包含三个步骤:
2.2操作文件的函数/方法
- 在Python中操作文件需要记住1个函数和3个方法
| 序号 |
函数/方法 |
说明 |
| 1 |
open |
打开文件,并返回文件操作对象 |
| 2 |
read |
将文件内容读取到内存 |
| 3 |
write |
将指定内容写入到文件 |
| 4 |
close |
关闭文件 |
- open() 函数负责打开文件,并返回文件对象
- read/write/close三个方法都需要通过文件对象来调用
2.3read方法——读取文件
- open函数的第一个参数,是被打开的文件名(文件名区分大小写)
- 如果文件存在,返回文件操作对象
- 如果文件不存在,会抛出异常
- read方法 可以一次性读入并返回 文件的所有内容
- close方法 负责关闭文件
- 如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问
- 注意:方法执行后,会把文件指针移动到文件的末尾
- 提示:
- 在开发中,通常先编写打开和关闭的代码,在编写中间针对文件读/写操作!
#获得文件操作对象(sis.txt文件)
file = open("sis.txt")
#读取
text = file.read()
print(text)
#关闭文件
file.close()
'''
运行结果
我是中文的哦
nidie中文
'''
- 文件指针 标记 从那个位置开始读取数据
- 第一次打开文件时,通常文件指针会指向文件开始的位置
- 当执行了read方法后,文件指针会移动到读取内容的末尾
- 思考:如果执行了一次read方法,读取了所有内容,那么再次调用read方法还能获取到内容吗?
- 答案:不能。第一次读取内容后,文件指针移动到文件末尾,再次调用不会读取到任何内容
文件指针演示
#获得文件操作对象(sis.txt文件)
file = open("sis.txt")
#读取
text = file.read()
#查看读取文件的长度 (14)
print(len(text))
#输出读取到的文件
print(text)
print("*"*30)
#重新读取文件
text = file.read()
print(text) # 空
print(len(text)) # (0)
#关闭文件
file.close()
"""
运行结果:
14
我是中文的哦
nidie中文
******************************
0
"""
2.4打开文件的方式
语法如下:
f = open( " 文件名 " , " 访问方式 " )
提示:频繁的移动指针,会影响文件读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件
2.5按行读取文件内容
- read方法默认会把文件的所有内容一次性读到内存
- 如果文件太大,对内存的占用会非常严重
readline 方法:
- 可以一次读取一行内容
- 方法执行后,会把指针移动到下一行,准备再次读取
读取大文件的正确姿势:
#打开文件
file = open("sis.txt")
while True:
#读取一行内容
text = file.readline()
#判断是否读取到内容
if text == "": #或者 if not text:
print(type(text)) #<class 'str'>
break
#每读取到末尾都会有一个 \n
print(text,end="")
"""
运行结果:
python1一
python2二
python3三
python4四<class 'str'>
"""
2.6文件读写案例——复制文件
目标:用代码实现文件的复制过程
小文件复制
打开一个已有文件,读取完整内容,并写入到另一个文件
#复制小文件方式1
file_read = open("sis.txt","r")
file_write = open("test.txt","w")
text_1 = file_read.read()
text_2 = file_write.write(text_1)
file_write.close()
file_read.close()
#复制小文件方式2 推荐(with关键字,会自动释放文件对象空间)
test = None
with open("sis.txt","r") as file:
test = file.read()
with open("test1.txt","w") as file:
file.write(test)
大文件复制
打开一个已有文件,逐行读取内容,并顺序写入到另一个文件
#大文件复制
file_read = open("五笔词根1.jpg","rb")
file_write = open("五笔词根2.jpg","wb")
while True:
text = file_read.readline()
#python中,除了‘'、""、0、()、[]、{}、None为False, 其他转换都为True。 也就是说字符串如果不为空,则永远转换为True。
if not text:
break
file_write.write(text)
file_read.close()
file_write.close()
2.7文件读写中的函数
文件读取— Python 3.10.1 文档
3.文件/目录的常用管理操作
- 在 终端/文件浏览 中可以执行常规的 文件/目录 管理操作,例如
创建、重命名、删除、改变路劲、查看目录内容........
- 在Python中如果希望通过程序实现上述功能,需要导入 os 模块
文件操作:
目录操作:
提示:文件或者目录操作,都支持相对路径和绝对路劲
4.文本文件的编码方式
pass
# -*- coding: utf8 -*-
# -*- coding: utf-8 -*-
# -*- coding: gbk -*-
5.拓展:eval函数
eval函数功能非常强大——将字符串当成有效的表达式来求值,并返回计算结果
# -*- coding: gbk -*-
#基本的数学计算
print(eval("1+1"))
#字符串重复
print(eval("'*'*30"))
#将字符串转变成列表
print(type(eval("[1,2,3,4,5]")))
#将字符串转变成元组
print(type(eval("(1,2,3,4,5)")))
#将字符串转变成字典
print(type(eval("{'name':'苹果','age':18}")))
案例——计算器
input_str = input("输入算数题")
print(eval(input_str))
'''
运行:
输入算数题1+1
2
'''
注意:在开发的时候千万不要使用 eval 直接转换 input 的结果
以上所述是小编给大家介绍的Python文件操作的方法,希望对大家有所帮助。在此也非常感谢大家对网站的支持!
相关推荐:
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
SEO站外优化策略:提升网站排名的关键因素,遵义公司网站推广
AI工具,让工作效率翻倍:AI工具教程全面解析
seo网络推广是什么,seo网络推广是什么意思 ,ai哪里注音
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
pbootcms前端翻译插件-轻松实现网站多语言支持,拓展全球市场,st ai绘画
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
文章AI生成:让创作变得更简单、更高效!
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
seo链接有什么用,seo外链是什么意思 ,one ai写作
AI一键生成文章,写作新境界
SEO快速优化技术:助力网站流量暴增,轻松登顶搜索引擎,铜陵ai全网通推广软件
seo站长什么意思,站长工具 - seo综合查询 ,ai少女身材
用AI写文章查重率高吗?揭秘AI写作与查重检测的关系
ChatGPT5.0为什么一直没出来?背后的技术与战略,元宵节ai趣赏月
什么是seo模型,seo模块总结 ,ai技术授课
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
360排名优化价格:打造高效网络营销的制胜法宝,ai换脸刘浩存自wei
SEO可以改变你的商业未来:如何通过优化提升网站流量和转化率,五粮液营销推广
ChatGPT服务部分恢复:人工智能助力全新体验,ai对象菜单
AI免费写文章生成器高效写作新革命
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
ChatGPT您的应用遇到问题,无法正常启动?如何解决并重新体验智能助手的魅力!,男头ai关键词
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
用AI生成文章,让创作更简单高效
SEO手段:提升网站流量的制胜法宝,idc网站怎么推广
Chatttst:开启智能沟通新时代的无限可能,上海联通ai
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
seo营销方法是什么,seo营销模式 ,ai山海
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
人工AI软件的未来:智能时代的创新驱动力
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
seo软件叫什么,seo软件视频教程 ,eps ai 缩略图
人工润色:让文字更具魅力的秘密武器,快排seo软件哪个最好
SEO优化需要给网站做哪些优化工作?,ai捕捉火苗
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
seo种草什么意思,seo yoo na ,三维地震反演AI
SEO优化中怎么找关键词:全面解析与实战技巧,ai2002.4.8
seo用什么论坛引流,seo引流方法 ,ai写作续写神器
AI+写文章:开启智能创作新时代
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘