Python的文件操作简单又重要!

115 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天,点击查看活动详情

这篇文章我们聊一聊Python的文件操作的一些内容,文件作为数据持久化的一种手段,在软件开发中对于文件的读写可避免,因此Python的文件操作的内容对于我们来说也是非常重要的一个模块。

想对一个文件进行操作,需要什么步骤呢?第一步需要先打开文件,然后我才我们才能进行读或者是写。那么打开文件使用什么函数呢?Python为我们提供了open()函数。

文件读写流程

首先我们看一下对于文件操作的Python实现的例子,有个直观的认识:

f = open('ikun.txt', 'w')
f.write('2.5')
f.close()

第一步打开文件:调用open()函数打开文件,这个函数有两个参数,第一个参数是文件的名,第二个参数就是打开文件的模式,我们这里是写入文件,就是w模式,r是只读模式,还有a模式表示文件在文件中追加内容,

第二步写入文件:调用write()函数进行文件的写入,进行文件读取的操作的话,可以调用read()函数读取文件的内容,可以调用readlines()函数读取文件,这个函数的返回形式是一个列表,列表的元素是每行的数据;还可以调用readline()函数来只输出一行。

第三步关闭文件,关闭文件是我们很容易忽视的一个点,但也是很重要的一个点,很多内存的溢出都是因为文件流没有关闭。

实践

知道了文件的读写的步骤了,看看你能不能用Python实现一个文件备份的功能,备份的步骤是什么呢?他其实就是将一个原来的文件的内容输入到一个新的文件中。

我写给出实现的代码,我们一起分析一下。

old_name = input('请输入您要备份的文件名:')

index = old_name.rfind('.')
postfix = old_name[index:]
new_name = old_name[:index] + 'ikun' + postfix

old_file = open(old_name, 'rb')
new_file = open(new_name, 'wb')

while True:
    con = old_file.read(1024)
    if len(con) == 0:
        break
    new_file.write(con)
    
old_file.close()
new_file.close()

第一步输入原文件

第二步获取文件后缀名,也就是文件名最后一个点的后边的内容,这里使用rfind()函数从字符串右边查找到最后一个点所在的位置,然后old_name[:index]就是点之前的内容,也就是文件名,old_name[index:]是点之后的内容,也就是文件名后缀,中间加入ikun字符串,来区分新文件,这样一个新的文件名就拼接好了

第三步对于老文件,我们使用rb模式打开,rb表示二进制格式打开文件,然后对于新文件我们使用wb模式,wb表示二进制格式写入文件,文件存在会删除原来文件内容重新写入,文件不存在会创建文件。

第四步我们使用while循环读取文件内容进行写入,当读到的文件内容为空的时候,就结束循环。

最后一步我们不要忘记对操作的文件关闭。

这就是文件备份的整体内容,不算很难理解。

总结

这篇文章我们讲了Python的文件读写的内容,对文件读写Python。对文件读写,Python和其他语言在流程上差不多,都是先打开文件,然后进行读操作或者是写操作,最后关闭文件。最后的部分我们对文件操作实践了一下,实现了一个Python文件备份的功能来巩固我们所学的知识。代码有点儿长,但是通过我们的分析之后,代码的内容很就不难理解了。