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

学习python仅此一篇就够了(文件操作:读,写,追加)

python文件操作

文件编码

编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。

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

  • UTF-8

  • GBK

  • BUG5

文件的读取操作

open()函数

在python中,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下:

open(name,mode,encoding)
name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
mode:设置打开文件的模式:只读,写入,追加等
encoding:编码格式
例如:
f = open('python.txt','r',encoding="utf-8")
mode常用的三种基础访问模式:
模式描述
r以只读方式打开文件。文件的指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从头开始编辑,原有内容会被删除
s打开一个文件用于追加。如果文件已经存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
read()方法:
文件对象.read(num)

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

#打开文件
f = open("E:/test.txt", "r", encoding="UTF-8")
print(type(f))#读取文件-read()
print(f"读取10个字节的结果是{f.read(10)}") #读取10个字节的结果是my name is
readlines()方法:

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

#读取文件-readlines()
lines = f.readlines() #读取文件的全部行,封装到列表中
print(f"lines对象的类型:{type(lines)}") #lines对象的类型:<class 'list'>
print(lines) # ['my name is wyx']
readline()方法:一次读取一行内容
line = f.readline()
print(line) #my name is wyx
for循环读取文件行
for i in f:print(i) #my name is wyx
close() 关闭文件对象
f = open("E:/test.txt", "r", encoding="UTF-8")
print(type(f))
f.close()
with open 语法
with open("E:/test.txt", "r",encoding="UTF-8") as f:print(f.readlines()) #['my name is wyx']

wirte写操作

f = open('E:/test1.txt', "w", encoding="UTF-8")
#write写入
f.write("asdqwezxc")
#刷新
f.flush()
#close关闭
f.close()

 

文件的追加操作

f = open("E:/test1.txt", "a", encoding="UTF-8")
f.write("\n学pytho最佳")
f.flush()
f.close()

http://www.lryc.cn/news/280302.html

相关文章:

  • vue中 ref 和 $refs的使用
  • Centos7升级openssl到openssl1.1.1
  • uniapp中实现H5录音和上传、实时语音识别(兼容App小程序)和波形可视化
  • HashMap集合万字源码详解(面试常考)
  • LeetCode1124. Longest Well-Performing Interval
  • 如何使用手机公网远程访问本地群辉Video Station中视频文件【内网穿透】
  • 事件分析应急响应-Server2229(环境+解析)
  • SpringCloud:微服务
  • 拥抱Guava之集合操作
  • 运算放大器相关知识总结(1)
  • ZMQ_REQ\REP模式
  • 机器人跟踪性能量化指标
  • 【GitHub项目推荐--开源的坦克大战】【转载】
  • 06、Kafka ------ 各个功能的作用解释(ISR 同步副本、非同步副本、自动创建主题、修改主题、删除主题)
  • Spring Security实现详解
  • ⭐Unity LeapMotion与手的相关开发
  • React16源码: React中的update和updateQueue的源码实现
  • mybatisplus(service CRUD 接口)
  • GC6109——双通道5V低电压步进电机驱动芯片,低噪声、低振动,应用摄像机,机器人等产品中
  • MySQL-多表联合查询
  • 商城小程序(8.购物车页面)
  • [Vulnhub靶机] DC-1
  • 【springboot 中集成 knife4j 时,报错 No mapping for GET /doc.html】
  • C++ 具名要求-全库范围的概念 -谓词(Predicate)-二元谓词(BinaryPredicate)
  • MyBatis-Plus不写任何resultMap和SQL执行一对一、一对多、多对多关联查询
  • arcgis javascript api4.x加载天地图web墨卡托(wkid:3857)坐标系
  • 中职组安全-win20230217-环境-解析
  • PMP学习考试经验总结
  • leetcode206.反转链表
  • python每日学17:控制推导逻辑的子表达式不要超过两个