AI智能
改变未来

❤️Python【文件操作】保姆式教程❤️,计算机那么多文件,你绕不过这一关的!


😏前言

在Python写代码做项目时,我们往往需要对多个文件进行操作,在现在的源代码文件中怎么导入其他文件?怎么对其他文件进行操作?这都是经常要面临的问题,尤其是爬虫,爬到的数据放在哪里?用到的时候怎么调出来?

这就涉及到了Python的文件操作知识了,我们不可能永远都只会在一个源文件上做所有的操作,这也是必须掌握的一个知识板块。

与此同时,我的Python新手入门教程系列文章也已经快更新完了,欢迎大家的订阅:

Python新手入门教程系列文章专栏

文章目录

  • 😏前言
  • 💼一、文件的定义和操作
  • 💼二、文件的基本操作
  • 💼三、文件的方法与属性
  • 💼四、os模块
  • 🎓结语

💼一、文件的定义和操作

计算机中的文件通常是指计算机硬盘为载体的、存储在计算机中的信息集合,主要的表现形式为视频、音频、图片以及文档四类,比如执行性文件.exe、文档文件.txt、网页文件.html等等。

💼二、文件的基本操作

在现实中,我们对文件进行操作可以大致总结为“打开→操作(阅读、删除、修改等)→保存→关闭”,在Python当中依然是如此,在用Python开始文件操作之前,我们先学几个方法。

1.open(name,mode) —-打开文件

这是Python打201cf开文件的方法,用于打开一个文件,返回的是一个文件对象。

name指的是文件名,一定要写全,何为写全?就是要写清楚 存储路径+文件名+后缀 。

为何要写这么全?因为就算是相同的存储路径下,文件名相同的文件也可能不止一个,只要后缀不一样,计算机是允许存在同名文件,所以不写全的话,计算机是不知道你指的是谁

mode是打开文件的模式,默认是r,也就是只读的方式。mode的方式有很多,比如读、写等等,后面我们会讲到。

2.write(“内容") ——写

顾名思义,就是向文件对象中写入内容。

3.read() ——-读

向文件中写入内容,括号里面可以写数字也可以不写,不写的话默认是读取全部内容,写数字则表示读取X个字符,比如说read(6)则读取文件对象的6个字符。

4.close() ——关闭文件

关闭文件的方法,如果你在进行文件操作之后不进行关闭文件,则文件一直处于打开和操作的状态,会占用内存。

5.案例

在了解了这4个基本方法之后,我们来开始做1个小案例:新建一个项目,然后新建一个名为“文件”的Python文件用于写代码,然后我们用写的方式向1个叫“文件1”的.txt文件写入“hello world”,代码如下:

f = open("文件一.txt",'w') #以写入的方式,打开文件f.write("hello world")  #向文件一中写入内容f.close()   #关闭文件

前面讲过 open() 这个方法返回的是一个文件对象,所以我们用f进行接收一下,这是没有运行前的界面:

运行后:

运行后生成了一个新的名为“文件一.txt”文件,打开它之后就能看到我们输入的内容。进行写操作时,如果文件不存在,则默认会创建一个。

同样的,我们也可以对这个文件进行读的操作:

f = open("文件一.txt",'r') #以写入的方式,打开文件print(f.read()) #读文件f.close()   #关闭文件

运行结果:

hello world

这就是一个最基本的文件操作流程。

在这里要注意一点,open(name,mode)在一开始写的时候,mode就已经决定了你能做什么操作,也就是说如果你在开始写代码的时候写的是:

f = open("文件一.txt",'r')	#只读的方式打开文件

那么后面你想进行write()的写操作是会报错的,因为mode里面声明了r只读模式,所以你没有写的权限,这一点要注意一下。

6.mode的其他操作模式

mode中有很多的操作模式,我们以表格的方式来看看:

模式 描述
r 以只读的形式打开文件,文件的指针在开头
r+ 读写,文件指针在开头
rb 以二进制的形式,只读文件指针在开头
w 只写,文件不存在,则创建新的,存在则覆盖,指针在开头
w+ 读写,文件不存在,则创建新的,存在则覆盖,指针在开头
wb 只写,以二进制的形式
a 追加模式,文件指针在结尾
a+ 读写,不存在则创建,存在直接追加
ab 以二进制形式追加

指针在这里可以理解为光标,它在哪里,你的操作就从哪里开始。

举例:新建1个名为 “test” 的.txt文件,第一次向里面写入aaa,第二次向里面写入bbb。

f = open("test.txt", 'a+')f.write("aaa")f.close()f = open("test.txt")  # 默认只读模式print(f.read())  # 打印内容f = open("test.txt", 'a+')f.write("bbb")f.close()f = open("test.txt")  # 默认只读模式print(f.read())  # 再次打印内容

运行结果:

aaaaaabbb

💼三、文件的方法与属性

1.file的对象属性

有三个常用的方法可用于查看文件对象的属性:

1. closed如果文件对象已关闭,返回True,否则返回False2. mode返回文件对象的访问模式3. name返回文件的名称

案例:对文件进行操作(随意),查看被操作的文件名、操作模式和是否关闭。

f = open("test.txt", 'a+')f.write("aaa")f.close()print(f.closed) #查看是否关闭print(f.name)   #查看文件名字print(f.mode)   #查看操作模式

运行结果:

Truetest.txta+

2.file的对象方法

文件的方法有很多,前面我们已经讲过一点,比如read()和write(),但还有一些常用的方法需要掌握的,比如下面的:

1. close()关闭文件---非常重要2. read([count])读取文件中的内容count:字节数量3. readlines()读取所有内容,打包成列表4. readline()读取一行数据,追加读取,读取过的不能再次读取5. seek(offset,[from])修改指针的位置:从from位置移动了offset个字节from:0则表示从起始位置,1则表示从当前位置开始,2则表示从末尾开始oofset:要移动的字节数6. write()向文件中写入内容

举例:向test.txt文件中写入aaabbbccc,将文件中的内容输出为列表。

f = open("test.txt", 'a+')f.write("aaabbbccc")f.close()f = open("test.txt")print(f.readlines())f.close()

运行结果:

['aaabbbcccaaabbbccc']

💼四、os模块

os模块是一个用于访问操作系统的模块,在进行文件操作的时候常会用到它。模块在使用之前要进行导入。

import os

1.关于文件的功能

1.os.rename(原文件名,新的文件名)	——文件重命名2.os.remove(文件名)	——删除文件如果不说明路径,则在源代码所在文件夹下寻找,寻找不到会报错。若想删除指定文件夹下的文件,文件名则需要具体路径,例如 os.remove(r"D:\\test_1\\文件名"),r防止斜杠发生转义

举例:已有文件test1.txt,将其修改成test20.txt。

import osos.rename("test1.txt","test20.txt")

运行结果:

2.文件夹的功能

1.os.mkdir(文件夹名)	——创建文件夹2.os.rmdir(文件夹名)	——删除文件夹3.os.getced()	——获取当前目录4.os.chdir(目录)	——切换目录5.os.listdir(目录)	——获取当前文件夹下所有的文件或者文件夹,返回一个列表os.listdir("aa") #获取aa文件夹下的所有文件或文件夹,返回一个列表

举例:在现有文件夹venv里面新建一个新建文件夹。

import osos.chdir(r"D:\\文件\\venv")  #切换到venv文件夹下,r是防止转义os.mkdir("新建文件夹")   #在venv文件夹下创建一个新建文件夹print(os.getcwd())  #输出当前目录位置

运行结果:

🎓结语

关于文件其实还有很多的方法,用到的时候可以去网上查查资料去深入了解,比如说os模块里面还有其他的方法,我们可以ctrl+鼠标左键进入模块内部查看,比如说不止os模块,还有os.path这个模块也是比较常用的文件操作模块。

那么今天的分享就先到这里,看完可以收藏起来多练练,文件操作也就不再困难了。

准备了很久,我的公众号终于是开始运作了,关于我的技术和经验文章都会优先在上面进行推送,目前还在不断完善中,欢迎大家的关注。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » ❤️Python【文件操作】保姆式教程❤️,计算机那么多文件,你绕不过这一关的!