栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

超基础Python 文件操作(重点:文件的基本操作、模块和包 )

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

超基础Python 文件操作(重点:文件的基本操作、模块和包 )

  文件打开,需要使用内置函数,(在内存中打开(不是打开在屏幕上),可以对文件内容进行操作,实际上是看不到的,只能通过结果来看到对它有了一个操作)

模式:r读w写a追加

文件地址有两类

从该程序文件出发,意思就是代码现在所处的那个文件出发

相对路径(例子):原来是在06文件里面,怎么进入05文件中的text3.py:  ../05函数/  /(表示进入文件夹)     

其中同级目录的./可以不写

绝对路径:

 鼠标左键点击一下,出现的就是绝对路径(若是要操作的是test3.py,则要在绝对路径后面加上test3.py,即复制目录地址加文件名)

绝对路径可能只有你自己电脑上有,别人可能没有,那别人就打不开。所以推荐用相对路径打开

   

r 、w打开的文件,光标放在第一位,a模式光标是在最后面

a、w打开不存在的文件夹都不会报错,而且会新建一个文件夹,且若原文件存在,a是不会覆盖原文件

文件写入(也需要进行保存)

w模式会覆盖之前内容(即把文件未打开前的内容删除,相当于一个新的文件夹),而a模式可以不断添加

发现没有写入成功,像python一样运行前,有星号,没保存,按F5先提示要保存再运行,保存后没星号。因为没有保存

这样就写入成功了  f.close()#保存并关闭

用a写入,多次运行,可以多次追加

 若需要写多行时,需要把内容写在列表或字符串里面

得到的是一个文件的对象,可用一个变量去保存

文件读取(是从光标的位置后面开始读取)

 读取内容时,重复多个print,不会读取重复内容,读取一次后光标不会复原,光标会一直往后走

读取到的多行内容,读取到也是放在列表里面

  

把一个文件的内容全部读取出来,然后通过写入多行的方式,写入到另一个文件里

可读可写+模式(既可以读取,也可也写入) 

光标会随添加内容往后去移动,导致read读取不到东西,read读取,是从光标往后开始读取的

 用f.seek(0)调整光标位置即可

B是一个二进制的数据  

图片视频音频都是用二进制的格式去保存的,如果需要读取这些文件时,就需要二进制来读取这些文件的内容

r+模式打开的是一个字符类型,图片视频音频都是字节类型

加个B即可读取到 

 f.close需要手动去写

自动关闭用with open(自动打开并关闭),不用再写f.close()关闭

以上代码需要全部掌握

文件流(写图片验证码可以用)(现在了解即可,后面爬虫会继续讲)相当于是一个虚拟的文件,将数据临时保存在内存当中进行操作,不会生成持久化文件(在磁盘里可以看到的)

讲项目自己单独开发一个网站出来,用户登录我们网站时,需要验证码登录,用python生成图片验证码,每次登录注册都生成这个图片。用python去画出这个验证码,保存在内存当中,当他把程序关掉的时候,就会释放内存,图片就会被垃圾回收掉了。(跟数据库差不多)

分为两个管道

一个用来保存二进制的图像音频和视频

一个用来保存文件这些

用文件流需要导入模块import io

可以对虚拟文件进行写入,虚拟文件用不到打开,因为每一次打开都相当于创建了一个新的虚拟文件出来,所以就不分aw那些模式了,直接写入就行

文件流直接用getvalue就好了,不需要修改光标的位置

 写字节文件时,写入记得要加b,修改二进制一定要记得加b

现在文件流只需要知道怎么打开,修改,关闭它就行

调用方法时,注意要加括号

文件目录的操作

进行文件目录的操作,需要导入模块os(操作电脑上文件)

通过os模块可以获取到当前我们在操作的文件的目录

 切换工作文件的目录os.chdir,r进行取消转义,只是暂时的对他进行操作,并不是真的把它移过去了,只是在内存里面对他进行操作,只是修改操作的目录,修改了操作路径

创建文件夹os.mkdir('文件夹名')

删除文件夹os.rmdir('文件夹名‘)

创建多层目录os.makedirs(r'第一层下一层下一层’) 可以两个斜杠取消转义'第一层\下一层\下一层’

删除多层目录os.makedirs(r'第一层下一层下一层’)

文件夹里面有内容的话,就不可以删除,删除只能删除空的文件夹,

遍历文件夹(遍历是先在把一个页面的文件夹打开,再从第一个一级一级打开,然后打开第二个)os.walk() 返回的是一个对象,想要看到它,就需要对他进行转列表

 

 移除文件,移除文件夹里面的文件os.remove()

 修改文件名字os.rename('原',‘新’)

join拼接(拼接网址)

                                         

模块(文件)和包(文件夹) 导入模块:import python文件名

使用模块里面的方法:模块名.函数名()  

部分导入,即不需要模块里面的全部方法,直接函数名就可以了,不需要再写模块名        

 

函数名字太长,用as函数名重命名 

 时间模块(包.模块.方法())

测试项目是否有问题 

  包:

from 包 import 模块

 

注意从C导入B   的方法

同级下一个点,若是模块e导入B的话,则要回到上级目录才能导入 from..B import 方法,只能找到上一级,不能一直往上找,不能找到A外面的,有文件才能被导入,不能从网上直接导入

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号