当前位置: 首页 > news >正文

Python之文件读写 day9

一.文件打开的核心语法

使用open()函数打开文件,基本语法:

with open(file_path,mode,encoding = 'utf-8') as f:#文件操作代码#with语句:自动管理文件资源,操作完成后自动关闭文件
#file_path:文件路径(相对路径或绝对路径)
#mode:打开模式(如 'r' 读、'w' 写等)
#encoding='utf-8':指定字符编码格式

二.字符编码参数encoding = 'utf-8'

1.作用:

指定文本文件的字符编码格式,用于字符与二进制数据的相互转换。可确保:写入文件时,中文字

符等能正确编码为二进制数据;读取文件时,二进制数据能正确解码为中文字符,避免乱码。

2.使用场景:

仅用于文本模式(默认模式),二进制模式 ('b') 不需要指定

三.文件打开模式分类

1.基本模式

'r' :只读模式,文件不存在则报错

'w':写入模式,文件不存在则创建后再写,若存在则先覆盖原有内容再写入

'a':追加模式,在文件末尾添加内容(不会覆盖原有内容)

'x':创建模式,创建新文件,文件已存在则报错

2.组合模式

'r+':读写模式,可同时读写

'w+':读写模式,但是会先清空文件

'a+':读写模式,写入内容后追加在末尾

3.二进制模式

在基本模式后加'b',比如'rb' 'wb' 等。用于处理图片,音频等二进制文件,不需要指定encoding参数

四.文件读取方法

1.read()

读取文件所有内容,返回类型为字符串

with open('read.txt','r',encoding='utf-8') as f:result = f.read()
2.readline()

逐行读取,返回的数据类型也为字符串

with open('file.txt', 'r', encoding='utf-8') as f:line = f.readline()  # 读取一行while line:print(line.strip())  # strip()去除换行符line = f.readline()
3.readlines()

读取所有行,返回数据类型为列表

五.文件写入方法

1.write():写入字符串

with open('file.txt', 'w', encoding='utf-8') as f:f.write("这是一行文本\n")  # 需手动添加换行符

2.writelines():写入字符串列表

with open('file.txt', 'w', encoding='utf-8') as f:lines = ["第一行\n", "第二行\n", "第三行\n"]f.writelines(lines)  # 不会自动添加换行符

六.二进制读写

encode()编码 将文本内容编码成二进制内容

decode()解码 将二进制内容解码成相对应的字符

with open('write.txt','wb') as f:f.write('今天是周三'.encode('utf-8'))

七.练习

1.将read.txt中的内容复制到write.txt文件中
with open('read.txt','r',encoding = 'utf-8') as f:result = f.read()
woth open('write.txt','w',encoding = 'utf-8') as f:f.write(result)
2.将用户输入的内容,添加到文件中
yh = input('请输入内容:')
with open('write.txt','a',encoding = 'utf-8') as f:f.write(yh)


文章转载自:

http://CGp5c0pZ.ntgsg.cn
http://1ltRtzdX.ntgsg.cn
http://pDJZ9Soc.ntgsg.cn
http://gGXlPiAN.ntgsg.cn
http://PQmb6mbi.ntgsg.cn
http://Cvx1apoG.ntgsg.cn
http://RFr0vcL3.ntgsg.cn
http://CEcLjicj.ntgsg.cn
http://vftuzZ8k.ntgsg.cn
http://jqoarTnt.ntgsg.cn
http://u3MUPlPn.ntgsg.cn
http://PWaJEmEc.ntgsg.cn
http://0P1Gd5x8.ntgsg.cn
http://hS9rv21H.ntgsg.cn
http://VOyG9ccU.ntgsg.cn
http://nVK1uzm7.ntgsg.cn
http://i9ebIPxF.ntgsg.cn
http://7hlHXlmf.ntgsg.cn
http://7zfStUwX.ntgsg.cn
http://4rw66Xg6.ntgsg.cn
http://yIVUSh0n.ntgsg.cn
http://CHUc64Ek.ntgsg.cn
http://K4Qi8dSW.ntgsg.cn
http://KhPaNbK4.ntgsg.cn
http://XiIqRPTi.ntgsg.cn
http://MFk6OYws.ntgsg.cn
http://93VPFqi4.ntgsg.cn
http://95iggNC8.ntgsg.cn
http://N1zz9gAf.ntgsg.cn
http://LwNh9NOv.ntgsg.cn
http://www.dtcms.com/a/384031.html

相关文章:

  • 深度学习和神经网络之间有什么区别?
  • Linux驱动学习(SPI驱动)
  • 【MySQL|第七篇】DDL语句——数据库定义语言
  • 计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
  • Redis集群部署模式全解析:原理、优缺点与场景适配
  • ESP32的烧录和执行流程
  • ABP vNext + OpenXML / QuestPDF:复杂票据/发票模板与服务器端渲染
  • Java 注解入门:从认识 @Override 到写出第一个自定义注解
  • 网络层 -- IP协议
  • 社招面试BSP:BootROM知识一文通
  • Knockout.js DOM 操作模块详解
  • 面试题知识-NodeJS系列
  • 【层面一】C#语言基础和核心语法-02(反射/委托/事件)
  • Jmeter性能测试实战
  • CSP-S 2021 提高级 第一轮(初赛) 阅读程序(3)
  • TTC定时器中断——MPSOC实战3
  • [数据结构——lesson10.2堆排序以及TopK问题]
  • Maven 本地仓库的 settings.xml 文件
  • 绑定数据管理
  • RTU 全面科普:从入门到 AI 时代的智能化演进
  • lxml对于xml文件的操作
  • 第23课:行业解决方案设计
  • 深入理解 Java 内存模型与 volatile 关键字
  • Alibaba Lens:阿里巴巴推出的 AI 图像搜索浏览器扩展,助力B2B采购
  • I.MX6UL:主频和时钟配置实验
  • 【前端知识】package-lock.json 全面解析:作用、原理与最佳实践
  • 计算机视觉(opencv)实战二十——SIFT提取图像特征
  • Android开发-SharedPreferences
  • SpringBoot的自动配置原理及常见注解
  • Java内部类内存泄漏解析:`this$0`引用的隐秘风险