详解Python的文件处理
短信预约 -IT技能 免费直播动态提醒
先学会文件的读写!
比如像以前在学校读书的时候,第一门编程课设计要求是制作学生管理系统。
这就需要使用文件来处理(也可以用数据库,但是一般C语言都是很多计算机系新生的首选语言,这时候大概率也不知道数据库)。
python 最常用的是open和write函数,如下:
#open函数:接收一个文件名,还有其他参数可省略不写。
one_file = open('myfile.txt')
#读取数据赋值给data变量
data = one_file.read()
#一个文件对象的write函数
one_file = open('myfile.txt','w')
#write函数:传入数据,write函数把数据写入到one_file对应的文件中。
one_file.write('写到文件的数据')
我们看看一些文件操作示例吧
读取文件数据
保留下面数据到为文件:sample.txt
持续学习
持续开发
我雷学委
afile = open("sample.txt")
print(afile.read())
写数据简单展示
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo.py
# @Project : hello
afile = open("sample.txt")
data = afile.read()
print("sample file content=", data)
afile.close()
#把sample读取的数据写到test文件
afile = open("./test.txt", "w")
afile.write(data)
afile.close()
print("write data to test file!")
afile = open("./test.txt")
data = afile.read()
afile.close()
print("test file content=", data)
我们看,读取到的内容确实是写入的。
这个文件操作非常简单。
读写文件就这么简单,但是我们操作文件之后,记得调用close函数(关闭文件,不然后续再读写操作会出现异常/错误!)
close函数的调用如下:
one_file.close() #文件对象.close()
但是我们通常都是编写这种风格的文件读写:
with open('sample.txt', 'r') as one_file:
data = one_file.read()
#无须调用close了,这个with代码块内,python会帮我们自动关闭文件。
以上都是一开文件就一次性读取的,Python中还可以一行一行读取。
按行读取
我们基于前面读写文件代码改造,直接看:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/12 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : filedemo2.py
# @Project : hello
with open("sample.txt") as afile:
data = afile.readline()
print("sample file content=", data)
with open("./test.txt", "w") as afile:
afile.write(data)
print("write data to test file!")
with open("test.txt") as afile:
data = afile.readline()
print("test file content=", data)
我们看到这里读取了sample文件的一行,然后写入到test文件,也只有一行!
总结
Python 文件的读取非常方便,内置的open函数和文件对象自带的write函数,设计非常简单。
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341