Python内置十大文件操作
日常对于批量处理文件的需求非常多,经常需要用Python写脚本调用外部文件!
本次整理Python中最常用的十大文件操作方法,直接拿来用就行啦!
01
创建和打开文件
想要操作文件需要先创建或代开指定文件并创建文件对象,用open()方法实现,其语法格式如下:
file=open(filename[, mode[, buffering]])
参数说明
file:创建的文件对象
filename:要创建或打开的文件名称,需使用单引号会双引号括起来。如果要打开的文件和当前文件在同一目录,直接写文件名即可;否则,指定完整路径。
mode:可选参数,用于指定打开模式,默认为只读(即r)
buffering:可选参数,用于指定读写文件的缓存模式,值为0表示不缓存,值为1表示缓存;如果大于1,则表示缓冲区的大小。默认缓存模式。
默认情况下,打开一个不存在的文件,会显示异常
解决方法:
当前目录下(执行文件相同的目录)创建一个test.txt文件
调用open()方法时,指定mode参数值为w、w+、a、a+,若不存在,则创建。
不同模式打开完全说明
注意:打开文件默认采用GBK编码,当被打开文件不是GBK编码时,可能会显示异常。解决方案:1、直接修改文件的编码2、在打开文件时,直接指定使用的编码方式(推荐)。
file=open('test.txt','r',encoding='utf-8')
02
关闭文件
打开文件后,需要及时关闭,以免占用资源,使用close()方法实现。
file.close()
注:使用close()方法时会先刷新缓冲区还没有写入的信息,然后再关闭文件。
03
打开文件使用with语句
打开文件需要及时关闭,如果忘记关闭可能发生意想不到的问题。另外,如果在打开文件时显示异常,那么将导致文件不能及时关闭。为避免此类问题,可以使用Python提供的with语句,从而无论是否显示异常,都能保证with语句执行完毕后关闭已经打开的文件。基本语法如下:
with expression as target:
with-body
参数说明:
expression:指定表达式,可以是打开文件的open()方法
target:用于指定一个变量,将expression的结果保存到该变量中
with-body:用于指定with语句体,可以是执行with语句后相关的一些操作语句,也可以直接pass。
with open('test.txt','w') as file:
pass
04
写入文件内容
Python文件对象提供write()方法,向文件中写入内容。
file.write(str)
其中,file为打开的文件对象;str为要写入的字符串。注意,写入前提有写入权限,指定打开模式为w(可写)或a(可追加)
使用open()函数,将模式改为w或a打开文件来创建文件对象。w模式下会覆盖旧数据写入新数据,a模式下可在原有数据基础上增加新数据。
file=open('text.txt','w',encoding='utf-8')
file.write("欢迎关注Python数据分析实例")
file.close()
05
读取数据
打开文件后,除了向其写入或追加内容,还有读取文件中内容。需要知道文件打开模式为r(读)或r+(读写)主要有以下3种情况:
读取指定个数字符
file.read([size])——其中,size为可选参数,如果省略,则一次读取所有内容。
读取一行
file.readline()——每次读取一行数据,文件很大时,采用逐行读取
读取所有行
file.readlines()——返回字符串列表,每个元素为文件的一行内容。
with open('text.txt','r+',encoding='utf-8') as file:
print("读取前4个字符串")
print(file.read(4))
print("读取一行")
print(file.readline())
print("读取所有行")
print(file.readlines())
注:如果想要读取部分内容,可以先使用文件对象seek()方法将文件指针移动到新的位置,然后再用read()方法获取。
file.seek(offset[,whence]).其中,offset参数用于指定移动的字符串个数,按一个汉字占两个字符;whence值为0表示从文件头开始计算,1表示从当前位置开始计算,2表示从文件尾开始计算,默认0.
06
复制文件
Python复制文件需要使用shutil模块的copyfile()方法
shutil.copyfile(src,dst)
其中,src:要复制的源文件;dst:复制到的目标文件
07
移动文件
Python移动文件需要使用shutil模块的move()方法
shutil.move(src,dst)
其中,src:要移动的源文件;dst:移动到的目标文件
08
重命名文件
Python重命名文件需要使用os模块的rename()方法
os.rename(src,dst)
其中,src:指定要重命名的源文件;dst:指定重命名后文件。为确保正常执行,可以使用os.path模块的exists()方法判断要操作的文件是否存在。
09
删除文件
Python中删除文件需要使用os模块的remove()方法
os.remove(path)
其中,path:指定要删除的文件路径,相对路径或绝对路径
010
获取文件基本信息
文件本身包含一些信息,如文件最后一次访问时间、最后一次修改时间、文件大小等基本信息。通过os模块的stat()方法获取。
os.stat(path)
以上就是Python内置的十大常用的文件操作方法
PyQt5中,同样也提供了对文件和文件夹操作的类,后续详细介绍。
在这里还是要推荐下我自己建的Python学习Q群:831804576,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),
包括我自己整理的一份2022最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!
Python内置十大文件操作相关推荐
- python进入内置函数文件_python基础知识-set、函数、内置函数、文件操作
一.set set集合,是一个无序且不重复的元素集合 1.创建 se = {"123","456"}print(type(se)) s= set() #创建空集 ...
- python将元祖设为整形_python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍...
对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 #python3.x dir(int)#['__abs_ ...
- 简便 or 缺陷?Python 内置函数大揭秘!| 技术头条
作者 | 豌豆花下猫 责编 | 胡巍巍 内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用.所见即所得.Python 被公认是一种新手友好型 ...
- python内置函数打开文件_Python内置函数用来打开或创建文件并返回文件对象。
误的排列关于坐姿坐位姿势良好的描要的常重述错是:内置时的是非,盘承坐姿椎间的因为常大时的受非. 函数或创工作高精轴上电动电动机上机主台上伺服伺服. 打开对象膏B可与之同连D.淡豆豉用的.黄.黄黄柏是A ...
- python内置的读取文件函数_Python函数篇(3)-内置函数、文件处理(已更新)
1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...
- python内置函数open_Python学习教程:Python内置函数大总结(下篇)
这里接着上次的 Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 613 ...
- python内置的读取文件函数_python基础(内置函数+文件操作+lambda)
classfile(object)def close(self): #real signature unknown; restored from __doc__ 关闭文件""&qu ...
- Python基础:集合与文件操作
集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...
- python内置标准库不可以处理的文件是_精华 | 140种Python标准库、第三方库和外部工具都有了...
原标题:精华 | 140种Python标准库.第三方库和外部工具都有了 作者 | 宋天龙 来源 | 大数据(ID:hzdashuju) [导读]Python数据工具箱涵盖从数据源到数据可视化的完整流程 ...
最新文章
- Xdebug部分配置选项说明
- 实时体积云渲染(地平线):二.Perlin噪声和Worley噪声
- linux mysql 内存监控_MySQL监控性能的一些方法总结
- VMware之以太网链接
- 【自然框架】n级下拉列表框的原理
- 用了几个开源项目,都无法运行,推广柳氏风格
- 随机过程的概念以及统计特性(读书笔记)
- 关于idea中的maven索引异常问题(在idea中创建maven项目时,在pom.xml文件中加入依赖,提示出现的很慢)
- θ - γ耦合作为脑机接口调节慢性脑卒中运动恢复的皮质生物标志物
- 1-65535字符集
- java解决windows下文件没有Everyone以及完全控制的权限问题
- vue 统计中英文字符串长度_Ant Design Vue实现区分中英文分全角/半角字符长度校验功能...
- 揭秘手机变手雷的四大病毒
- html图片显示详情,纯CSS鼠标经过图片视差弹出层显示详情链接按钮特效代码.html...
- QT学习1-下载安装HelloWorld
- 网络爬虫学习(二) selenium
- 谷歌浏览器手动同步设置
- 实现个虚拟机只要几百行的 toy 版就够了
- mysql8找不到bir_Mysql大小写敏感问题
- stm32h743能跑linux吗,关于stm32H743 can配置