day3-文件操作之基本操作

一、文件的基本操作

文件内容:

Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂

 1、read()

当read()函数中传入整数(int)参数,则读取相应的字符数,如果不填写,则默认读取所有字符

f = open("yesterday2",'r',encoding="utf-8")
#默认读取全部字符
print(f.read())
f.close()
#输出
Somehow, it seems the love I knew was always the most destructive kind
不知为何,我经历的爱情总是最具毁灭性的的那种
Yesterday when I was young
昨日当我年少轻狂f = open("yesterday2",'r',encoding="utf-8")
#只读取10个字符
print(f.read(10))
f.close()
#输出
Somehow, i

注:只有当文件有读权限时,才可以操作这个函数

2、tell()

获取文件句柄所在的指针的位置

f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#获取指针位置
print(f.tell())
f.close()
#输出
Somehow, i #读取的内容
10 #指针位置

 3、seek()

设置文件句柄所在的指针位置

f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#设置之前的指针位置
print(f.tell())
f.seek(0)
#设置之后的指针位置
print(f.tell())
f.close()
#输出
Somehow, i #读取文件的内容
10 #设置之前的指针位置
0 #设置之后的指针位置

 4、encoding

打印文件的编码

f = open("yesterday2",'r',encoding="utf-8")
print(f.encoding)
f.close()
#输出
utf-8

 5、fileno()

返回文件句柄在内存中的编号

f = open("yesterday2",'r',encoding="utf-8")
print(f.fileno())
f.close()
#输出
3

 6、name

返回文件名

f = open("yesterday2",'r',encoding="utf-8")
print(f.name)
f.close()
#输出
yesterday2

 7、isatty()

判断是否是一个终端设备(比如:打印机之类的)

f = open("yesterday2",'r',encoding="utf-8")
print(f.isatty())
f.close()
#输出
False #表示不是一个终端设备

 8、seekable()

 不是所有的文件都可以移动光标,比如tty文件,可以移动的,返回True

f = open("yesterday2",'r',encoding="utf-8")
print(f.seekable())
f.close()
#输出
True

 9、readable()

文件是否可读

f = open("yesterday2",'r',encoding="utf-8")
print(f.readable())
f.close()
#输出
True

 10、writeable()

文件是否可写

f = open("yesterday2",'r',encoding="utf-8")
print(f.writable())
f.close()
#输出
False #文件不可写

 11、flush()

写数据时,写的数据不想存内存中缓存中,而是直接存到磁盘上,需要强制刷新

>>> f = open("yesterday2","w",encoding="utf-8")
#这时'hello word'在缓存中
>>> f.write("hello word")
10
#强刷到磁盘上
>>> f.flush()

 这个怎么实验呢?在cmd命令行中,cd到你文件所在的路径下,然后输入python,在Python命令行中输入上面代码

①cd d:\PycharmProjects\pyhomework\day3下(因为我的被测文件在这个文件夹下)

②在这个目录下输入Python命令行,然后进行测试

③强制刷新之前

 ④执行强刷命令之后

 

⑤强刷后文件中的内容变化

 

注:以写的模式打开文件,写完一行,默认它是写到硬盘上去的,但是其实它不一定写到硬盘上去了。当你刚写完一行,如果此时断电,有可能,你这行就没有写进去,因为这一样还在内存的缓存中(内存中的缓存机制),所以你有不想存缓存,所以就要强制刷新。那一般在什么情况下用呐?比如:存钱

12、closed

判断文件是否关闭

f = open("yesterday2","r",encoding="utf-8")
f.read()
print(f.closed)
#输出
False

 13、truncate(截取字符的数)

截取文件中的字符串,打开文件模式一定是追加模式(a),不能是写(w)和读(r)模式

#没有指针
f = open("yesterday2","a",encoding="utf-8")
f.truncate(10)
f.close()
#截取结果
Somehow, i#有指针
f = open("yesterday2","a",encoding="utf-8")
f.seek(5)
f.truncate(10)
f.close()
#截取结果
Somehow, i

 说明truncate截取文件中的字段,并不受指针(seek)所在位置影响。

14、write()

写入文件内容

f = open("yesterday2","w",encoding="utf-8")
f.write("Somehow, it seems the love I knew was always the most destructive kind")
f.close()

 注:写功能只有当打开文件模式是写(w)或者追加(a)才可操作。

 

转载于:https://www.cnblogs.com/zhangqigao/articles/6480191.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT连接多种数据库f方法及测试

QT提供了对多种数据库的访问支持,对SQL Server也可以通过ODBC来进行访问。要想顺利访问SQL Server。 首先要保证以下几点:1. QT编译时已经编译了QtSql2. 编译了ODBC插件。可以通过 configure -plugin-sql-odbc来保证,也可以单独编译~/src/plu…

服务器如何实现电脑无线桥接,无线路由器WDS桥接成功副路由器下电脑无法上网怎么办【解决方法】...

摘 要无线WDS桥接设置完成后,在副路由器管理面,运行状态 无线状态 中,WDS状态显示成功,但电脑通过副路由无法上网。该问题可能与主、副路由器的设置有关,如下图所示: 解决办法: 排查一&#xff…

spad 探测器_从光到光子—“单光子”探测器

光电探测器光电探测器是指在光辐射作用下将其非传导电荷变为传导电荷的一类器件。在电子学中,二极管是一种具有不对称传输特性的双端电子元件,在一个方向上对电流具有低(理想为零)电阻,在另一个方向上具有高(理想为无限)电阻。最常见的类型如…

天地图专题五:在天地图上绘制电子区域并保存数据

版权声明:本文为博主原创文章,转载请注明出处。 上一文章讲了如何在天地图上显示坐标轨迹。 本文介绍如何在天地图上绘制电子区域(电子范围或电子栅栏),并且,我们要将我们绘制的电子区域的坐标数据保存到数…

Mysql中natural join和inner join的区别

假设有如下两个表TableA,TableB TableA TableB Column1 Column2 Column1 Column3 1 2 1 3TableA的Column1列名和TableB的Column1列名相同。 SELECT * FROM TableA INNER JOIN TableB USING (Column1) SEL…

微信和支付宝的服务器在哪里,手机恢复出厂设置,里面支付宝与微信怎么办?原来数据在这里...

当手机使用一段时间之后,因为硬件落后会出现卡顿、内存不足等情况,这个时候提高手机速度最直接的一个办法就是恢复出厂设置,虽然不能从根源上解决问题,但是还是可以凑合个半年时间的。那么这个时候就出现一个问题,手机…

python线上编辑问题_python django - static文件处理与线上部署测试

static文件相关操作涉及:a. 文件位置与访问路径映射b. setting.py与static相关配置STATIC_URLSTATIC_ROOTSTATICFILES_DIRSc. html中对于static文件引用方式d. python manage.py collectstatic1. 开发环境-目录结构2. setting.py 设置STATIC_URL /static/# STATIC_…

android arcgis 绘制圆_arcgis for android 定位 圆

不多说直接代码 ,群里人共享的方法一: /*** 绘制圆,配合 cleargraphicLayer()清除** param center 圆心* param radius 半径* param alpha 填充的透明度 0-100* param fillColor 填充的颜色*/public void DrawCircle(Point center, double radius, int a…

CreateSolidBrush

[声明] WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF color); [功能] 初始化一个指定颜色的画刷。画笔可以随后被选为任何设备上下文的当前刷子。 [参数表] color 画刷的颜色[返回值] Long,如函数执行成功,就返回指向新画笔的一个句柄&#xff1b…

mysql insert 不需要日志_MySQL数据库性能优化(1)「转」

1、MySQL概述从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案。关系型数据库的选型将以创业公司、互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程和基本使用方法等知识并不在我们讨论的范围内。后续几篇文章我们首先…

javascript面试题以及对所涉及到的知识点的总结

前言 这几天将js方面的知识系统的回顾了一遍,但是当尝试去做一些面试题时觉得解决问题的能力以及效率还是有所欠缺,在这里特意记录一下所做的面试题并总结所涉及到的相关知识点。 一、面试题、答案以及总结 1、截取字符串abcdefg的efg var str"abcd…

十代主板改win7_技嘉B460主板UEFI+GPT装win7|10代CPU装win7 Bios设置

随着英特尔十代酷睿处理器的全面上市,针对主流用户的B460平台成为了大众主要关注的目标。作为国际一线板卡品牌的技嘉科技针对十代酷睿的特点,推出了B460主板。这块主板装win7、win10都可以,但是在装win7的过程中USB设备不能使用(本站支持最新的B460/Z490等新主板驱动),需要…

Java swing中的keyListener使用事例

最近在学习Java swing,写了一个域内聊天室,实现用户登录ip,端口号之后,进入聊天窗口聊天: 通过菜单条增加了几个功能,边框,字体,颜色和文件传输。风格里的样式都可以通过自己选择来设置。 介绍以…

「前端」History API与浏览器历史堆栈管理

本文由尚妆前端开发工程师欲休撰写 本文发表于尚妆博客,欢迎订阅! 移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构。传统的单页应用基于url的hash值进行路由,这种实…

Andrew Ng机器学习(一):线性回归

1.什么是线性回归? 用线性关系去拟合输入和输出。 设输入为x,则输出yaxb。 对于多元的情况yb1a1x1a2x2...anxn。 用θ表示系数,可以写作: 其中,x01。 2.线性回归有什么用? 对于连续输入和输出的问题&#x…

c++虚析构函数

1.为什么基类的析构函数是虚函数&#xff1f; 在实现多态时&#xff0c;当用基类操作派生类&#xff0c;在析构时防止只析构基类而不析构派生类的状况发生。 下面转自网络&#xff1a;源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html a.第一段代码 #include<i…

ICMP(Internet Control Message Protocol)网际控制报文协议初识

ICMP是&#xff08;Internet Control Message Protocol&#xff09;Internet控制报文协议。它是TCP/IP协议族的一个子协议&#xff0c;用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用…

Linux设置RSA密钥登录

一、怎么实现双向免密登录 前提 所有服务器/etc/ssh/sshd_config文件的以下三行未被注释 RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys举例&#xff1a; 两台服务器&#xff1a;192.168.100.134 192.168.1.140免密码登录是分用户的…

python面向对象__str__和__repr__方法

__str__方法 class Animal:def __init__(self,name,color):self.namenameself.colorcolordef __str__(self):resself.name的颜色是self.colorreturn res batAnimal(蝙蝠,黑色) print(蝙蝠的特征:%s % bat) # 蝙蝠的特征:蝙蝠的颜色是黑色 对象输出或者打印就会执行__str__方法…

函数sprintf真好用

描述&#xff1a;C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。 声明&#xff1a; int sprintf(char *str, const char *format, ...) 参数&#xff1a; str -- 这是指向一个字符数组的指针&#xff0c;该数组存储了 C 字符…