python中的文件

1.什么是文件?

硬盘上存储的数据都是以文件的形式来组织的~

文件是数据在硬盘上的存储形式,不同的数据在硬盘上的存储形式是不同的,

2.文件路径

文件夹/目录。

文件夹,再包含文件夹的情况,这就是一个嵌套的关系,

此处把这一层一层的目录构成的字符串,就称为"文件的路径"

为了表示qq.exe这个文件的位置,就可以通过路径的方式来表示。

在代码中两个反斜杠才代表一个字符\

在代码中一个反斜杠表示的是特定含义的转义字符~

3.文件操作

1.打开文件

open函数的返回值是一个文件对象,此处的f相当于是file的缩写,表示这个函数的返回值是一个文件对象,

当使用print函数去输出f,就是输出open函数的结果是,会发现这时会显示文件的路径,文件的打开方式,以及文件的编码方式,当使用print(type(f))去打印open函数的结果类型时,会发现python内部给这个文件起了一个名字。

当文件不存在时,按照读方式打开文件,就会抛出文件没找到的异常。

重点理解open函数的返回值是什么?

对文件对象的操作都会直接反映到硬盘上,

2.关闭文件

文件在打开完之后,使用完了之后,也就一定要关闭!

打开文件,其实是在申请一定的系统资源~

不再使用文件的时候,资源就应该及时释放

否则就可能造成文件资源泄露,进一步的导致其他部分的代码无法顺利打开文件了

正是因为一个系统的资源是有限的,因此一个程序能打开的文件的个数,也是有上限的!

在8189+3=>8192的过程中,这默认打开的三个文件是标准输入,标准输出,标准错误,

每个程序在启动的时候,都会默认打开三个文件~

1.标准输入, 键盘 input

2.标准输出,显示器 print

3.标准错误,显示器

文件资源泄露,其实是一个挺重要的问题~

不会第一时间暴露出来,而是在角落里,冷不丁偷袭一下,~

3.写文件

如上图所示,如果使用读的方式去往文件中编写内容,会直接抛出异常。

如上图所示,如果使用写的方式打开文件,不去写也不去进行任何的操作,会直接清空文件中的原本内容。

如果想在文件中追加内容并且原本文件中就有内容,就要使用a的方式去以追加的形式往文件中添加内容。

当然了如果想加入换行的效果,就需要在f.write("464"\n)加入换行符即可,这样让文件内容看起来更加简洁。

如上图所示,如果当文件对象已经被关闭时,那么意味着系统中该文件相关的内存资源已经释放了,强行去写,就会出异常。

4.读文件

如上图所示,python代码尝试将文件中的数据按照一个GBK的方式去解析,结果发现解析不了,

如何指定让代码以utf8的方式去解析文件中的数据信息呢?

就是在open函数中添加encoding="utf8"这个关键字参数,指定open函数以utf8的形式去读取文件中的信息。

实际开发的过程中就需要保证,文件内容的编码方式和代码中操作文件的编码方式,匹配!

相比于GBK,utf8是更广泛的编码方式。

如上图所示,更加常见的需求是按行来读取文件内容,

最简单的方法,直接是使用for循环。

for line in f :

print(f'line = {line}')

然后记得要关闭文件,归还占用的文件资源哦!

相关推荐
南京云森杉木桩4 分钟前
水利木桩源头直供,质量可靠价格更优
大数据·python
Aaron - Wistron14 分钟前
Python基础教程2/4(复合数据结构)
python
小柯南敲键盘17 分钟前
跨境电商图片翻译与视频字幕翻译工具推荐
python·音视频
ZJU_统一阿萨姆20 分钟前
【推理优化进阶】通信关键路径:NCCL、RDMA 与计算通信重叠
开发语言·人工智能·语言模型·架构·系统架构
我不是疯子是傻子36 分钟前
Qt 程序打包部署全攻略:从 windeployqt 到 Inno Setup 的静默安装与版本迭代实战
开发语言·qt
ZC跨境爬虫39 分钟前
LeetCode 13. 罗马数字转整数(多解法详解 + Java Python 实现)
java·python·leetcode
machnerrn1 小时前
智慧交通系列(一)-十字路口车辆闯红灯检测告警抓拍系统(附含数据+源码+模型)
人工智能·python·深度学习
现代野蛮人1 小时前
【深度学习实验】—— 利用 RNN 模型进行心脏病预测
pytorch·python·tensorflow·ml
2601_956319881 小时前
2026年用示例、拆解和练习提升量化理解效率
人工智能·python
城管不管2 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源