Python文件操作

提示:本文根据b站黑马python课整理

链接指引 => 2022新版黑马程序员python教程


文章目录

  • Python文件操作
  • 一、文件的编码
  • 二、文件的读取
    • 2.1 open()打开函数
    • 2.2 mode常用的三种基础访问模式
    • 2.3 读操作相关方法
      • 2.3.1 read()方法:
      • 2.3.2 readlines()方法:
      • 2.3.3 close() 关闭文件对象
      • 2.3.4 with open 语法
  • 三、文件的写入
    • 3.1 写操作快速入门
  • 四、文件的追加
    • 4.1 追加写入操作快速入门
  • 五、文件操作综合案例
  • 总结

一、文件的编码

计算机中有许多可用编码:

  • UTF-8
  • GBK
  • Big5

UTF-8是目前全球通用的编码格式
除非有特殊需求,否则,一律以UTF-8格式进行文件编码即可。


二、文件的读取

2.1 open()打开函数

注意:此时的fopen函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问,后续面向对象课程会给大家进行详细的介绍。

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
encoding:编码格式(推荐使用UTF-8)
open(name, mode, encoding)

例子:

f = open('./test.txt', 'r', encoding='utf-8')

2.2 mode常用的三种基础访问模式

模式 描述
f 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除 。
如果该文件不存在,创建新文件
a 打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后
如果该文件不存在,创建新文件进行写入

2.3 读操作相关方法

操作汇总

操作 功能
文件对象 = open(file, mode, encoding) 打开文件获得文件对象
文件对象.read(num) 读取指定长度字节
不指定num读取文件全部
文件对象.readline() 读取一行
文件对象.readlines() 读取全部行,得到列表
for line in 文件对象 for循环文件行,一次循环得到一行数据
文件对象.close() 关闭文件对象
with open() as f 通过with open语法打开文件,可以自动关闭

2.3.1 read()方法:

# num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
文件对象.read(num)

2.3.2 readlines()方法:

readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

f = open('python.txt')
content = f.readlines()# ['hello world\n', 'abcdefg\n', 'aaa\n', 'bbb\n', 'ccc']
print(content)# 关闭文件
f.close()

例:
readline()方法:一次读取一行内容

f = open('python.txt')content = f.readline()
print(f'第一行:{content}')content = f.readline()
print(f'第二行:{content}')# 关闭文件
f.close()

for循环读取文件行:

for line in open("python.txt", "r"):print(line)# 每一个line临时变量,就记录了文件的一行数据

2.3.3 close() 关闭文件对象

f = open("python.txt", "r")f.close()# 最后通过close,关闭文件对象,也就是关闭对文件的占用
# 如果不调用close,同时程序没有停止运行,那么这个文件将一直被Python程序占用。

2.3.4 with open 语法

with open("python.txt", "r") as f:f.readlines()# 通过在with open的语句块中对文件进行操作
# 可以在操作完成后自动关闭close文件,避免遗忘掉close方法

案例:通过文件读取操作,读取此文件,统计itheima单词出现的次数

itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima
index = 0
with open('./test.txt', 'r', encoding='utf-8') as f:for line in f:line = line.strip()# print(line)str = line.split(' ')print(str)for val in str:if val == 'it':index += 1print(f'index:{index}')

三、文件的写入

3.1 写操作快速入门

注意:

  • 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
  • 当调用flush的时候,内容会真正写入文件
  • 这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)
  • 文件如果不存在,使用”w”模式,会创建新文件
  • 文件如果存在,使用”w”模式,会将原有内容清空

例:

# 1. 打开文件
f = open('python.txt', 'w')# 2.文件写入
f.write('hello world')# 3. 内容刷新
f.flush()

四、文件的追加

4.1 追加写入操作快速入门

注意:

  • a模式,文件不存在会创建文件
  • a模式,文件存在会在最后,追加写入文件

案例演示:

# 1. 打开文件,通过a模式打开即可
f = open('python.txt', 'a')# 2.文件写入
f.write('hello world')# 3. 内容刷新
f.flush()

五、文件操作综合案例

完成文件备份案例:

bill.txtname,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式
f2 = open('bill.txt.bak', 'a', encoding="utf-8")
with open('bill', 'r', encoding="UTF-8") as f:for line in f:line = line.strip()str = line.split(',')if str[4] == '测试':continueelse:f2.write(f'{line}\n')f2.close()

总结

以上就是Python文件操作,之后会持续更新,欢迎大家点赞关注呀~~

六、Python文件操作相关推荐

  1. python对文件操作的相关函数_第六章、Python文件操作

    第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持fil ...

  2. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  3. Python文件操作学习总结

    Python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open( ...

  4. python 文件操作 和 标准库

    python 文件操作 一. 文件作用 二. 文件读写操作 文件操作流程 1. 读取文件数据 ⑴ 打开文件 ⑵ 读取文件内容 ⑶关闭文件 2. 写入或追加写入数据 ⑴ 打开文件 ⑵ 写入文件内容 ⑶关 ...

  5. Python基础——第八章:Python文件操作

    前言 本文是根据黑马程序员Python教程所作之笔记,目的是为了方便我本人以及广大同学们查漏补缺. 不想做笔记直接来我的频道.当然啦,自己的笔记才是最好的哦! PS:感谢黑马程序员! 教程链接:黑马程 ...

  6. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  7. 【Python】学习笔记总结3(Python文件操作)

    文章目录 三.Python文件操作 1.打开`open('文件名','打开模式')` 2.写操作 3.读操作 4.With上下文管理对象 小结 案例 5.文件定位 三.Python文件操作 1.打开o ...

  8. python文件操作实验总结,[干货分享]Python文件操作技巧总结

    引言 小伙伴们,今天给大家讲解一下python程序下的文件操作完整技巧梳理,都是笔者总结的干货.通过本文阅读,不仅可以带来生产力提升,也可以开发小脚本为生活带来乐趣.         首先不知道大家对 ...

  9. 关于python文件操作

    关于python文件操作 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当 ...

  10. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习--初步认识 Python函数学习--作用域与嵌套函数 Python函数学习--匿名函数 python内置函数 Python函数学习--递归 ...

最新文章

  1. DataGridView 密码列(显示为*号)的设置
  2. centos7自带数据库MariaDB重启和修改密码
  3. laravel 5.1 添加第三方扩展库
  4. 【初学者】10个例子带你了解机器学习中的线性代数
  5. 浅谈周大福的积分运营
  6. 玩了下朋友刚买的iphone4s,太鸡冻了,太幸福了
  7. 移动应用安全之沙盒技术
  8. 机器视觉运动控制一体机应用例程|锂电池组装线上的读码应用
  9. 【PC工具】微信语音转mp3保存备份方法及工具,微信语音备份方法,silk转mp3工具...
  10. Qt 可拖拽 大小可调 方框
  11. matlab低频滤波编程,各位朋友:求教用c语言实现低通滤波的程序!!!
  12. C语言机器人视觉系统原理,机器人视觉系统的组成及工作原理
  13. IDE中使用package打包出现java.lang.TypeNotPresentException: Type org.springframework.boot.maven.RepackageMoj
  14. 三元(三目)运算符解释
  15. 亿级流量电商详情页系统实战-1.小型电商网站的商品详情页的页面静态化架构以及其缺陷
  16. Linux查看和结束进程命令详解
  17. 英语学习详细笔记(三)代名词
  18. 热词解析(9) — hangry
  19. 计算机原理eprom,EPROM
  20. 微信的消息都要经过苹果服务器吗,为什么微信接收消息有延迟?其实是这5个原因,不知道就太可惜了...

热门文章

  1. iSCSI Target和Initiator安装与操作步骤详解
  2. vue 描述框[el-descriptions] 与之对应 div
  3. 10分钟带你进入Swagger的世界,快来看一看吧
  4. pip安装指定清华镜像源
  5. 怎么禁用计算机上的自动播放,手把手教你如何关闭自动播放
  6. 【最全】应用程序无法正常启动0xc000007b,解决方案
  7. thinkphp使用163/126邮箱发送
  8. c语言实现string sds,redis内部数据结构之SDS简单动态字符串详解
  9. 记一次前端优化首屏加载
  10. 小程序报错 出现脚本错误或者未正确调用 Page()