日常对于批量处理文件的需求非常多,经常需要用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内置十大文件操作相关推荐

  1. python进入内置函数文件_python基础知识-set、函数、内置函数、文件操作

    一.set set集合,是一个无序且不重复的元素集合 1.创建 se = {"123","456"}print(type(se)) s= set() #创建空集 ...

  2. python将元祖设为整形_python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍...

    对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 #python3.x dir(int)#['__abs_ ...

  3. 简便 or 缺陷?Python 内置函数大揭秘!| 技术头条

    作者 | 豌豆花下猫 责编 | 胡巍巍 内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用.所见即所得.Python 被公认是一种新手友好型 ...

  4. python内置函数打开文件_Python内置函数用来打开或创建文件并返回文件对象。

    误的排列关于坐姿坐位姿势良好的描要的常重述错是:内置时的是非,盘承坐姿椎间的因为常大时的受非. 函数或创工作高精轴上电动电动机上机主台上伺服伺服. 打开对象膏B可与之同连D.淡豆豉用的.黄.黄黄柏是A ...

  5. python内置的读取文件函数_Python函数篇(3)-内置函数、文件处理(已更新)

    1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...

  6. python内置函数open_Python学习教程:Python内置函数大总结(下篇)

    这里接着上次的 Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 613 ...

  7. python内置的读取文件函数_python基础(内置函数+文件操作+lambda)

    classfile(object)def close(self): #real signature unknown; restored from __doc__ 关闭文件""&qu ...

  8. Python基础:集合与文件操作

    集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...

  9. python内置标准库不可以处理的文件是_精华 | 140种Python标准库、第三方库和外部工具都有了...

    原标题:精华 | 140种Python标准库.第三方库和外部工具都有了 作者 | 宋天龙 来源 | 大数据(ID:hzdashuju) [导读]Python数据工具箱涵盖从数据源到数据可视化的完整流程 ...

最新文章

  1. Xdebug部分配置选项说明
  2. 实时体积云渲染(地平线):二.Perlin噪声和Worley噪声
  3. linux mysql 内存监控_MySQL监控性能的一些方法总结
  4. VMware之以太网链接
  5. 【自然框架】n级下拉列表框的原理
  6. 用了几个开源项目,都无法运行,推广柳氏风格
  7. 随机过程的概念以及统计特性(读书笔记)
  8. 关于idea中的maven索引异常问题(在idea中创建maven项目时,在pom.xml文件中加入依赖,提示出现的很慢)
  9. θ - γ耦合作为脑机接口调节慢性脑卒中运动恢复的皮质生物标志物
  10. 1-65535字符集
  11. java解决windows下文件没有Everyone以及完全控制的权限问题
  12. vue 统计中英文字符串长度_Ant Design Vue实现区分中英文分全角/半角字符长度校验功能...
  13. 揭秘手机变手雷的四大病毒
  14. html图片显示详情,纯CSS鼠标经过图片视差弹出层显示详情链接按钮特效代码.html...
  15. QT学习1-下载安装HelloWorld
  16. 网络爬虫学习(二) selenium
  17. 谷歌浏览器手动同步设置
  18. 实现个虚拟机只要几百行的 toy 版就够了
  19. mysql8找不到bir_Mysql大小写敏感问题
  20. stm32h743能跑linux吗,关于stm32H743 can配置

热门文章

  1. 互联网-手机圈那些事
  2. PHP 零基础入门笔记(5):PHP 运算符 operator
  3. CentOS系统配置网关和IP地址
  4. 在python里面怎么读取文件_python怎么读取文件内容
  5. bump version
  6. unsupported destination, should be slice or struct
  7. 2021-2027全球与中国低热量面条市场现状及未来发展趋势
  8. 【JS高级】js之闭包对象_04
  9. 第二版:JAVA对象对比VO对象找出差异值结合swagger-ApiModel无需自定义注解
  10. 根据公网IP查询出公网IP的网段和所属单位