08 Python学习之文件操作

简介: 计算机可以分为 文本文件 和 二进制文件

计算机可以分为 文本文件 和 二进制文件:

  • 文本文件 :可以使⽤⽂本编辑软件查看; 例如:python 的源程序 ,txt 文本文件等;
  • 二进制文件:保存的内容不是给⼈直接阅读的,⽽是提供给其他软件使⽤的 ; 例如:图⽚⽂件、⾳频⽂件、视频⽂件等等 ; ⼆进制⽂件不能使⽤⽂本编辑软件查看。

1、基本操作

在计算机中要操作文件的套路非常固定,一共包含三个步骤:

  1. 打开⽂件 ;
  2. 读、写⽂件 ;

    读: 将⽂件内容读⼊内存 ;

    写: 将内容写⼊⽂件 。

  3. 关闭⽂件 。

1.1 操作文件的函数/方法

在 Python 中要操作⽂件需要记住 1 个函数和 3 个方法。
序号 函数/方法 说明
1 open 打开文件,并且返回文件操作对象
2 read 将文件内容读取到内存
3 write 将指定内容写入文件
4 close 关闭文件
注:

1、open 函数的第⼀个参数是要打开的⽂件名(⽂件名区分⼤⼩写) ;

2、如果⽂件存在------返回⽂件操作对象 ;如果⽂件不存在------出错 ;

3、如果忘记关闭⽂件,会造成系统资源消耗,⽽且会影响到后续对⽂件的访问 。

1.2 文件操作案例-------读文件

# 打开文件
file = open(r"C:\Users\Administrator\Desktop\工单查询.txt", "r", encoding="utf8")
# 读取文件
text = file.read()
# 显示读取内容
print(text)
# 关闭文件
file.close()
注意:

在 python 中 ,字符串前面加 r,表示字符串的内容不通过\转义 ;

encoding="utf8" 以 utf8 编码格式打开文件 。

1.3 文件操作案例-------写文件

# 打开文件
file = open(r"C:\Users\Administrator\Desktop\Test.txt", "w")
# 写入内容
str1 = "求个关注+点赞\n"
file.write(str1)
# 关闭文件
file.close()

1.4 open 打开⽂件的⽅式

open 函数默认以只读⽅式打开⽂件,并且返回⽂件对象

  • “r”:只读方式打开文件;
  • “w”:只写方式打开文件;
  • “a”:追加写方式打开文件;

open 函数的访问方式后面添加 b 参数代表访问二进制文件

rb: 代表用只读的方式打开一个二进制文件;

wb:代表用只写的方式打开一个二进制文件。

ab:代表用追加写的方式打开一个二进制文件

2、按行读取

read ⽅法默认会把⽂件的所有内容⼀次性读取到内存 ,但是如果⽂件太⼤,对内存的占⽤会⾮常严重。

解决方案就是: 按行读取文件内容。

2.1 readline ⽅法

readline 方法可以一次读取一行内容,⽅法执⾏后,会把⽂件指针移动到下⼀⾏,准备再次读取readline 方法读取到文件最后,返回长度为 0 的字符串 ”” 。
# 打开文件
file = open(r"C:\Users\Administrator\Desktop\工单查询.txt", "r", encoding="utf8")
# 读取文件
text = file.readline()
# 显示读取内容
print(text)
# 关闭文件
file.close()

我们还可以结合 while 循环 readline 读取文件全部内容

# 打开文件
file = open(r"C:\Users\Administrator\Desktop\工单查询.txt", "r", encoding="utf8")
while True:
    # 读取文件
    text = file.readline()
    if text =="":
        break
    # 显示读取内容
    print(text,end="")
# 关闭文件
file.close()

2.2 readlines ⽅法

readlines 方法可以一次读取文件所有行,返回类型为列表。
# 打开文件
file = open(r"C:\Users\Administrator\Desktop\工单查询.txt", "r", encoding="utf8")
text = file.readlines()
for i in text:
    print(i,end="")
# 关闭文件
file.close()

2.3 with open 语法

with open(r"C:\Users\Administrator\Desktop\工单查询.txt", "r", encoding="utf8") as file:
    print(file.read())

3、JSON 操作

JSON 的全称是”JavaScript Object Notation”,是 JavaScript 对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。

3.1 特点

  • JSON 是纯文本;
  • JSON 具有良好的自我描述性,便于阅读和编写;
  • JSON 具有清晰的层级结构;
  • 有效地提升网络传输效率;

3.2 语法规则

  • 大括号保存对象;
  • 中括号保存数组;
  • 对象数组可以相互嵌套;
  • 数据采用键值对表示;
  • 多个数据由逗号分隔;

3.3 值

  • 数字(整数或浮点数);
  • 字符串(在双引号中);
  • 逻辑值(true 或 false);
  • 数组(在中括号中);
  • 对象(在大括号中);
  • null

示例:

{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "rtFGtGA3QKqy3nnm4f33SA",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

3.4 数据操作

读取json文件:

import json
# 打开文件
f = open(r"C:\Users\Administrator\Desktop\Test.json", "r", encoding="utf8")
data = json.load(f)
# 返回的 data 数据类型为字典或列表
print(data)
f.close()

写入json文件:

import json

# 准备数据
data = {'name': '一切总会归于平淡', 'age': 18, 'url': 'https://juejin.cn/user/567767899324286'}
# 打开文件
f = open(r"C:\Users\Administrator\Desktop\Test.json", "w", encoding='UTF-8')
json.dump(data, f, ensure_ascii=False)
f.close()

注:

ensure_ascii=False 代表中文不转义
相关文章
|
3月前
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
44 2
|
3天前
|
存储 Python
Python文件操作
Python文件操作
|
4天前
|
存储 安全 Python
30天拿下Python之文件操作
30天拿下Python之文件操作
13 1
|
21天前
|
监控 安全 Java
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【9月更文挑战第13天】在Python系统编程中,文件操作与I/O管理至关重要。本文通过五个实战案例分享最佳实践:高效遍历文件系统、优雅处理文件读写、利用缓冲机制优化性能、并行处理文件加速任务以及异常处理确保程序稳健。使用pathlib、上下文管理器及concurrent.futures等工具,助你轻松掌握Python文件系统与I/O操作,提升编程效率和项目质量。 示例代码展示了如何使用pathlib遍历目录、with语句安全读写文件、控制缓冲区大小、并行处理多个文件以及捕获异常保证程序稳定运行。通过这些技巧,你将能够在实际项目中更加高效地管理和操作文件。
35 6
|
2月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
19 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
2月前
|
安全 Python
python文件操作详解
整个文件操作过程中,我们应始终保持代码的健壮性和清晰性,确保在出现错误时资源能够被正确释放。
34 1
|
2月前
|
程序员 测试技术 开发工具
豆瓣评分7.9!世界级讲师耗时5年整理出的Python学习手册!
Python是一门流行的开源编程语言,广泛用于各个领域的独立程序与脚本化应用中。它不仅免费、可移植、功能强大,同时相对简单,而且使用起来充满乐趣。从软件业界的任意一角到来的程序员,都会发现Python着眼于开发者的生产效率以及软件质量,因此无论你的项目是大还是小,选择Python都将带来战略性的优势。 今天给小伙伴们分享的这份手册讲述了完整的Python语言,力争满足“语言”和“原理”两个方面的需求,并拥有足够的深度以便实用。废话不多说,下面展示给大家。
|
2月前
|
数据采集 数据可视化 Ruby
GitHub星标破万!Python学习教程(超详细),真的太强了!
Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。 Python 的设计哲学之一就是简单易学,体现在两个方面: 1. 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。 2. 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。
|
2月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
50 7
|
2月前
|
JSON API 开发者
Python学习Get方式通过商品 ID请求 获取拼多多商品详情数据接口
拼多多商品详情数据接口服务使开发者或商家能编程获取平台商品详情,涵盖标题、价格、销量等关键信息,助力市场分析与决策。使用前需注册开发者账号并获取API密钥;构造含商品ID等参数的请求URL后发送至API服务器;接口以JSON格式返回数据。应用场景包括商品销售分析、选品、品牌口碑挖掘及竞品分析,为商家提供强大数据支持。
下一篇
无影云桌面