Python3之文件读写操作的实例讲解
作者:Godliness丶 发布时间:2023-07-27 15:57:45
文件操作的步骤:
打开文件 -> 操作文件 -> 关闭文件
切记:最后要关闭文件(否则可能会有意想不到的结果)
打开文件
文件句柄 = open(‘文件路径', ‘模式')
指定文件编码
文件句柄= open(‘文件路径','模式',encoding='utf-8')
为了防止忘记关闭文件,可以使用上下文管理器来打开文件
with open(‘文件路径','模式') as 文件句柄:
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
r+,可读写文件。【可读;可写;可追加】
w+,写读
“U”表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
“b”表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb
ab
关闭文件
文件句柄.close()
操作文件:
detach
占位
fileno(返回文件描述符,用于底层操作系统的 I/O 操作)
fid = 文件句柄.fileno()
print(fid)
flush(刷新缓冲区,将缓冲区中的数据立刻写入文件)
文件句柄.flush()
isatty(判断文件是否连接到一个终端设备,返回布尔值)
文件句柄.isatty()
read(从文件中读取指定的字符数,默认读取全部)
str = 文件句柄.read() #读取整个文件
str1 = 文件句柄.read(10) #读取文件前10个字符
readable(判断文件是否可读,返回布尔值)
文件句柄.readable()
readline(每次最多读取一行数据,每行的最后包含换行符'\n')
print(文件句柄.readline()) #读取第一行数据
print(文件句柄.readline(3)) #读取第二行前3个字符
print(文件句柄.readline()) #读取第二行剩余字符
print(文件句柄.readline()) #读取第三行
seek(移动文件读取的指针,如果文件中包含中文,移动指针必须是3的倍数,不然会报错,因为一个中文字符等于3个字节)
文件句柄.seek(6)
seekable(判断文件指针是否可用,返回布尔值)
文件句柄.seekable()
tell(获取指针位置)
文件句柄.tell()
truncate(截断,把指针后面的内容删除,并写入文件,要在可写模式下操作)
f = open(‘text.txt','r+',encoding='utf-8')
f.seek(9) #把指针移动到第9个字节后面(即第3个中文后面)
f.truncate() #把第3个中文后面的字符删除,并写入文件
f.close()
writable(判断文件是否可写,返回布尔值)
文件句柄.writable()
write(把字符串写入文件,并返回字符数)
文件句柄.write(‘字符串')
来源:http://blog.csdn.net/qq_878799579/article/details/72877654
猜你喜欢
- 本文实例讲述了Python json模块dumps、loads操作。分享给大家供大家参考,具体如下:python中json数据的使用。dum
- 而Easp类中提供了大量实用的ASP通用过程及方法,可以简化大部分的ASP操作。目前只提供了VBScript版,JScript版将来可能会提
- 本文实例讲述了Python网络编程之TCP套接字简单用法。分享给大家供大家参考,具体如下:上学期学的计算机网络,因为之前还未学习python
- Numba是Python的即时编译器,在使用NumPy数组和函数以及循环的代码上效果最佳。使用Numba的最常见方法是通过其装饰器集合,这些
- 方法对比:使用df[(df[“a”] > 3) & (df[“b&
- 我差不多是与做web design的同时接触的flash design,因为那会普遍认为flash神通广大、无所不能。这些年我看Adobe的
- 拆包是指将一个结构中的数据拆分为多个单独变量中。以元组为例:>>> a = ('windows', 10,
- 本文实例讲述了python连接远程ftp服务器并列出目录下文件的方法。分享给大家供大家参考。具体如下:这段python代码用到了pysftp
- by leecade :我聊下我的想法 从功能上看,能不能把JS分成3层结构1 语法设计,选择器,常用函数2 业务逻辑(比如封装好常用的TA
- 前言:opencv最主要的的功能是用于图像处理,所以图像的概念贯穿了整个opencv,与其相关的核心类就是Mat。像素:图片尺寸以像素为单位
- 前言数据处理过程中,经常会遇到数据有缺失值的情况,本文介绍如何用Pandas处理数据中的缺失值。一、什么是缺失值对数据而言,缺失值分为两种,
- 这里用到django-rest-framework-jwt这个库 https://github.com/GetBli
- 互联网充斥着枯燥的设计,惠普、IBM、戴尔、微软,以及其他数不尽的网站(相似的布局,相似的配色)。可能有人会说通过这样一种标准化的界面可以使
- 本文实例讲述了Python基于列表模拟堆栈和队列功能。分享给大家供大家参考,具体如下:之前的文章https://www.jb51.net/a
- 网上有这样一道题目:一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 4.彻底弄懂CSS盒子模式四(绝对定位和相对
- 正文在平时的开发过程中,我们会遇到一些特殊的应用场景,如果你想要在执行某种操作之前或者之后你能够得到通知,并对其进行一些你想要的操作时,你就
- 1) 首先安装docker:# 用 yum 安装并启动yum install docker -y && systemctl
- WAP站点,这似乎是一个有点落伍的东西。在诞生之初,它很简陋,只能通过一个叫WML的标记语言来搭建没有任何美感的文字+链接页面。而今,绝大部
- 去年自己写过一个程序时,不太确定自己的内存使用量,就想找写工具来打印程序或函数的内存使用量。这里将上次找到的2个内存检测工具的基本用法记录一