企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
上节课我们学习了什么文件系统,文件树的组成结构是什么样的。我们还学习了用python来查找、重命名一个文件。 这节课,我们一起学习一下怎么用python操作一个文件的内容。 # 文件操作 对一个文件,我们可以1)读取里面的内容、2)往文件里写内容、3)追加文件内容。我们来看看用python怎么做这些事情。 ## 打开文件 在对文件内容操作之前,我们首先要打开文件。我们可以使用`open`函数打开文件,看代码: ~~~ file = open('./hello.py', 'r') ~~~ open函数需要两个参数,第一个参数是文件位置,就是我们要打开哪个文件。第二个参数是打开模式。 什么是打开模式呢?就是我们打开这个文件后要做哪个类型的操作。文件操作有这样几个类型 1. 读(read) r ;r+ 2. 写(write)w;w+ 3. 追加(append)a;a+ 可以参考下面的表: ![](https://s1.ax1x.com/2018/08/23/P7u1xK.png) 在不知道用哪个模式的时候,可以参考下图: ![](https://s1.ax1x.com/2018/08/23/P7Qi8I.png) ## 读文件 我们怎么读取文件内容呢?看代码: ~~~ # 打开一个文件 file = open('./hello.py', 'r') lineArr = file.readlines() for line in lineArr: print(line) file.close() ~~~ ## 写文件 ~~~ # 打开一个文件 file = open("foo.txt", "w") file.write( "hello\n") # 关闭打开的文件 fo.close() ~~~ ## 往文件里输出一个99乘法表 ~~~ def buildRow(a): b = 0 multi = [] while b < a: b = b + 1 multi.append("%s*%s=%s" % (str(a), str(b), str(a * b))) return " ".join(multi) tempFile = open('./99.txt','w+') a = 0 while a < 9: a = a + 1 tempFile.write(buildRow(a)+"\n") tempFile.close() ~~~ ## 追加文件内容 当我们想往一个文件里追加内容的时候,我们可以使用 a+ 模式。看代码: ~~~ tempFile = open('./99.txt','a+') tempFile.write("hello world\n") tempFile.close() ~~~ 在`a+` 模式下面,打开的文件指针会直接定位到文件末尾。我们的write会直接写到文件内容的最后面。 ## 例子 修改文件内容,将文件里的所有o改为x ``` # 打开这个文件 w+ # 读取内容 # 把o替换成x # 写文件 f = open('./hello.txt', 'r+') contentArr = f.readlines() resultArr = [] for str in contentArr: resultArr.append(str.replace('o', 'x')) f.seek(0,0) for str in resultArr: f.write(str) ``` 对文件的常用操作就这些,小朋友们掌握了吗? **阿达老师-孩子身边的编程专家**