文件操作

使用文件的目的:把执行代码时产生的数据存储起来,下一次执行代码时直接使用,不必重新在制作一份

文件操作方式:打开文件、读/写文件数据、关闭文件

打开文件

表现形式1:f = open(“test.txt”,”r”)

以读的方式打开已存在的名为test.txt的文件,使用变量f指向打开的test.txt文件

注意事项:

1、文件test.txt若不存在代码将报错并退出

2、以读的方式打开的文件无法向文件中写入数据

3、文件名与操作方式(读/写)都要加成对引号

4、如果是以读的方式打开文件”r”可省略不行,默认为以读的方式打开,也可以写成f = open(“test.txt”)

表现形式2:f = open(“test.txt”,”w”)

以写的方式打开文件test.txt,test.txt文件若存在,则覆盖,test.txt文件若不存在,则创建文件test.txt,使用变量f指向打开的test.txt文件

注意事项:

以写的方式打开的文件无法读取文件内容

表现形式3:f = open(“test.txt”,”a”)

以写的方式打开文件test.txt,test.txt文件若存在,写入的内容会追加在原文件内容末尾,test.txt文件若不存在,则创建文件test.txt,使用变量f指向打开的test.txt文件

关闭文件

表现形式:close()

例如:关闭文件test.txt

f = open(“test.txt”,”w”)

f.close()

注意事项:关闭文件与打开文件成对使用,不可以打开文件操作后不关闭文件

文件的读写

向文件中写入数据(write):

如图:

注意:

1、如果文件不存在则创建,如果存在就先将文件清空,然后写入数据

2、写入文件操作是从文件开头开始

3、图中的11表示向文件中写入了多少字节内容

从文件中读取数据(read):

1、按文件内容中长度读取read(num),如图:

注意:

num的单位是字节,表示每次读取的字节数

多次读取时下一次读取的内容是从上一次读取完内容的位置开始的

 2、将文件中内容全部读取read(),如图:

注意:一般不建议使用这种读取方式,因为如果文件过大(比如5G),内存很小(比如4G)的情况下,一次全部读取文件内容会令程序死掉

3、将文件中内容全部读取,但按照行的方式显示readlines(),如图:

注意:readlines读取方式得到的是一个列表,每行的内容为一个元素

4、按文件内容中行内容读取readline(),如图:

文件的定位读写

文件的定位读写就是从文件的某一位置开始进行读写

表现形式:seek(offset,from)

offset:偏移量(单位:字节)

from:从哪个位置开始便宜,共有三个参数(0:表示文件开头 1:表示当前位置 2:表示文件末尾)

例如:

从文件开头并且偏移3个字节开始读取

文件的重命名、删除

说明:文件重命名、删除操作需要python的os模块支持

重命名:os.rename(需要修改的原文件名, 新的文件名)

删除:os.remove(需要删除的文件名)

如:

import os

os.rename(“test.txt”,”新test.txt”)

os.remove(“test.txt”)

文件夹的相关操作

说明:文件夹的相关操作需要python的os模块支持

获取当前所在目录:os.getcwd()

创建文件夹:os.mkdir(“test”)

删除文件夹:os.rmdir(“test”)

跳转到其他目录:os.chdir(“aaa”)

获取目录下文件夹和文件名称:os.listdir()(得到的数据类型是列表)

应用小练习

制作文件的备份

要求:通过输入的文件名称备份该文件内容,且将文件名字更改成原文件名【复件】

注意点:

1、想要在test.txt更改成test[复件].txt先要找到点的索引值,然后将字符串切片重组

2、尽量不要一次全部读取原文件,所以使用每次读取1024字节来读取

3、读取或者写入文件后不要忘记关闭文件

批量修改文件名

要求:通过输入的文件夹名称将文件夹下的所有文件全部重命名,在每个文件名开头上加上【测试修改】

如图:

图1:重命名前

图1

图2:重命名后

注意事项:

1、需要python下os模块支持

2、rename()只能修改当前路径下的文件,所以需事先跳转到test文件夹下

3、获取文件名称操作得到的是列表,所以可以通过遍历列表来获取每一个文件名

版权声明:本文为lidongaistudy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lidongaistudy/p/9560562.html