python 指针指向的内容,python-文件的读取及指针位置

文件的读取及指针位置

打开文件的三步:打开->操作->关闭

文件的读取:

f = open('/tmp/passwd')打开

f.close()操作完,关闭文件

6fb6868e9d5759bcfb4df3bb6e3aaf8d.png

8f0bb57d67e8eb9ab0cc0ff3409eed94.png

判断文件对象拥有的权限

print(f.readable())是否拥有可读权限True or Falsh

print(f.writable())是否拥有可写权限

dc2320ffd6069a076d94f1d69a906e77.png

文件的六种读取方式:

r(默认)

-只能读,不能写

-读取文件不存在,报错

21db0b5657d706f7147f3eeb7e580170.png

97df07b004f16b9e91c488e9ba5aafb4.png

如果文件不存在,报错

d75e69a7117a46d25d7bf49846bb6eee.png

r+:

-可读,可写

-文件不存在,会报错

-默认情况下,从文件指针所在位置开始写入

414895a04c03e0b2b71d93ec3684a1e6.png

print(f.tell()) 打印指针位置

81978487f8cbf999093ba9a8c2370658.png

w:

-只可写

-会清空文件之前的内容

-文件不存在,会创建新文件并写入

5927d590fd49b62e4749a3a7bf114285.png

09d57733d14a285e1c33226b58fb1cc7.png

47179e5e2cac4688998fad9f435ef0cf.png

w+:

-可读,可写

-会清空文件内容

-文件不存在,会创建新文件并写入

f58726b39770fbec36d1b2a62732923a.png

7e61f7d1965bb45c63cdc40e3ee6eaf8.png

c6bdd7203d07a7efe56ed5c796000aa6.png

a:

-只可写

-不会清空文件内容

-文件不存在,会创建新文件并写入

037162445d0a4b66494b7caa2fc80713.png

003a1848085c4ffb883fb56392e6c8cc.png

18a625e8b1e2b3756dd6910594576722.png

a+:

-可读,可写

-文件不存在,不报错

-不会清空文件内容

a2974438e474cc4280ae2c211e5fbdf3.png

89e69b56422c5ec502e47c6860fc61d1.png

a8d1fa174e63bcb0a7fe60ac69ace986.png

文件的读取

b+二进制读取

f = open('/tmp/passwd','rb+')b二进制读取

f.close()

print(f.read())

print(f.read(5))括号里的数字表示指定读取的几个字符

4050a002e3c927a4333e684bbbd623ee.png

44698f698b87ba8f3cebf3f01ab94576.png

print(f.readline())对文件一行一行的读(默认读取第一行) 不能指定读取几行,()写入数字不是读几行

5cabff4ec07255385c910218824d8dfe.png

b7932d3ab2622be18e6c0c4f88746178.png

print(f.readlines())将文件的内容以列表的形式返回,每行为列表的一个元素,且有换行符 ()写入数字不是读几行

readlines():读取文件内容,返回一个列表,列表元素分别为文件行的内容

470889796ed35ab2b35c8f26fe1faa86.png

3df096c4b22b97241011cfcc5cb61698.png

print([line.strip() for line in f.readlines()])不要\n换行符

59344cf446ac65be3c45dde1b1d56bfe.png

print(list(map(lambda x:x.strip(),f.readlines())))不要\n换行符

fcd8e88e34fedc7ef582ea4bbff44851.png

文件指针位置:

print(f.tell())打印指针位置

print(f.read())

print(f.tell())

f17fb0707fe29091d3a91ff474585054.png

f.write('hello')

cdf536afb74108bc7cf1240dc6e26d74.png

f.seek(0)指针移动的位置

a3661262804d09dc85e8f0b4968d3299.png

移动指针来指定文件文件当前的位置,通过seek()来实现

seek第一个参数是偏移量:>0,代表向右移动,<0,代表向左移动

seek第二个参数是:

0:移动指针到文件开头 (0,0)

1:不移动指针 (0,1)

2:移动指针到末尾 (0,2)

e40acec8ec3278a1a102e7eb5e30639b.png

59ca7f7f289dc78b62f0b10d6680cb8e.png

39f51a748df13f0062353e35b6578eba.png

f206de0afb603a69aa6e347220313ca1.png

非纯文本文件的读取(b,b+)

需要通过二进制文件的读取

f1 = open('redhat.jpg',mode='rb')

content = f1.read()

f1.close()

b73008cf10e4666631c7dbdb1a0e7c64.png

f2 = open('hello.jpg',mode='wb')

f2.write(content)将图片写入f2,出现与f1一样的f2

f2.close()

126b0d651f2b506d91256f6537b927b2.png

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

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

相关文章

jax-rs jax-ws_对状态代码使用JAX-RS异常

jax-rs jax-ws从JAX-RS资源发送特定HTTP&#xff08;错误&#xff09;状态代码的一种方法是使用javax.ws.rs.core.Response类及其类似Builder Pattern的API。 如果要根据响应主体指定返回类型&#xff0c;则仍然可以这样做&#xff0c;并通过抛出WebApplicationException针对错…

Linux 及其它类 Unix 系统的系统服务管理和控制程序(初始化系统/init system)简单梳理

文章目录一、Linux 的启动过程二、初始化程序&#xff08;一&#xff09;System V init&#xff08;二&#xff09;Upstart init&#xff08;三&#xff09;systemd&#xff08;四&#xff09;Launchd&#xff08;五&#xff09;Epoch&#xff08;六&#xff09;Mudar一、Linux…

matplotlib 柱状图_Matplotlib数据可视化:柱状图与直方图

↑↑点击上方蓝字&#xff0c;回复资料&#xff0c;嘿嘿&#xff0c;10个G的惊喜柱状图和直方图是两种非常类似的统计图&#xff0c;区别在于&#xff1a;直方图展示数据的分布&#xff0c;柱状图比较数据的大小。直方图X轴为定量数据&#xff0c;柱状图X轴为分类数据。因此&am…

php怎样完成批量审核,CMS_DedeCMS 批量取消审核文档的实现方法,今天修改了几个地方的代码 实 - phpStudy...

今天修改了几个地方的代码 实现了在原来dede文章批量管理的地方 添加一个 “取消审核” 如下图&#xff1a;实现方法&#xff1a;修改管理目录(默认为dede)下的文件&#xff1a;archives_do.php 插入以下代码(位置随意 可以放审核文档下面 方便记忆)&#xff1a;复制代码代码如…

groovy.run 脚本_Picocli 2.0:类固醇上的Groovy脚本

groovy.run 脚本Picocli 2.0增加了对其他JVM语言&#xff08;尤其是Groovy&#xff09;的支持。 当Groovy语言具有CliBuilder类的内置CLI支持时&#xff0c;为什么还要使用picocli&#xff1f; 您可能喜欢picocli的使用帮助&#xff0c;默认情况下会显示ANSI 颜色和样式 。 您…

Linux 系统服务管理和控制程序(初始化系统/Init System) -- systemd 介绍

文章目录systemd 简介systemd 启动过程概述Systemd的争议systemd 简介 开发systemd的主要目的就是减少系统引导时间和计算开销。systemd&#xff08;系统管理守护进程&#xff09;&#xff0c;最开始以GNU GPL协议授权开发&#xff0c;现在已转为使用GNU LGPL协议&#xff0c;…

mongodb msi安装包_跟我快速学数据存储:MongoDB非关系型数据库

想要学习更多编程&#xff0c;就点上方蓝字关注我们MongoDB概述01与Redis半持久化&#xff0c;存储于内存和硬盘不同&#xff0c;MongoDB是直接持久化&#xff0c;存储于硬盘的缓存系统。MongoDB非常流行&#xff0c;其中阿里云提供了云数据库MongoDB版。https://blog.csdn.net…

php页面 info,通过PATH_INFO方法实现页面伪静态_php

/*函数url_parse用于解析url&#xff0c;使用时需要在前面定义define(PATH_INFO,true);需要解析时调用该函数&#xff0c;取值方法用回$_GET[xxx]即可*/function url_parse(){if(!(isset($_SERVER[PATH_INFO])&&defined(PATH_INFO))){return;}$url substr($_SERVER[PA…

767 重构字符串_重构字符串型系统

767 重构字符串去年&#xff0c;我加入了一个项目&#xff0c;该项目从另一个软件公司接手&#xff0c;但未能满足客户需求。 如您所知&#xff0c;在“继承”的项目及其代码库中&#xff0c;有许多事情可以并且应该加以改进。 可悲的是&#xff08;但并不奇怪&#xff09;领域…

fanuc roboguide_FANUC机器人虚拟仿真教程:Roboguide弧焊仿真工作站工装添加

Roboguide软件左侧浏览树中的“Fixture”节点专门用于添加工装资源&#xff0c;软件支持添加自带的库文件数模以及外部导入的CAD数模。软件支持CSB、DXF、STL、IGES、3DS等格式数模文件&#xff0c;一般情况下将将外部数模转换为IGES或CSB格式后进行导入效果会更好一些。本期&a…

如何在 Ubuntu 14.04 和 12.04 上测试 systemd

本来&#xff0c;Ubuntu决定从Ubuntu 16.04 LTS开始使用systemd来替换当前的引导过程。Ubuntu 16.04预计在2016年4月发布&#xff0c;但是考虑到systemd的流行和需求&#xff0c;刚刚发布的Ubuntu 15.04采用它作为默认引导程序。另外&#xff0c;Ubuntu 14.04 Trusty Tahr和Ubu…

oracle怎么读取表空间文件大小,oracle获取表空间文件大小

oracle通过查询DBA_SEGMENTS表获取表空间文件信息&#xff0c;包括表空间名称&#xff0c;大小等 ? 1 select tablespace_name,sum(max_size),sum(bytes) from dba_segments group by tablespace_name; max_size和bytes的单位是字节。将上面的sql语句放到存储过程中执行&#…

java 枚举内嵌枚举_高度有用的Java ChronoUnit枚举

java 枚举内嵌枚举几年前&#xff0c;我发表了博客文章“ The Highly有用的Java TimeUnit Enum ”&#xff0c;其中介绍了JDK 5引入的TimeUnit枚举。 JDK 8引入了一个更新的枚举ChronoUnit &#xff0c;它比TimeUnit更适合于并发以外的上下文&#xff08;例如日期/时间操作&…

Chrome for Mac OS 的 快捷键

文章目录页面滚动其它页面滚动 快捷键功能说明Command ↑滚动到网页的顶部Command ↓滚动到网页的底部 其它 快捷键功能说明Shift Command [ 或 Shift Command ]左右切换标签页&#xff0c;到最后一个会重新循环Option Command ← 或 Option Command →左右切换标签页…

oracle分页包,Oracle分页获取数据的实现 (包和存储过程)

本文档主要是介绍针对oracle数据库中利用包和存储过程来实现分页获取数据的内容。其实该存储过程的主题思想及主要实现我也是从网上找的&#xff0c;自己做了整合。包括包头声明和包体实现部分以及C#代码具体调用部分&#xff0c;共大家参考并提出改进意见。本包中包括两个分页…

python-opencv 最快的遍历颜色空间_居住空间设计的七种设计风格

生活中每家每户的家居样式都是不一样的&#xff0c;它们都是各有各的风格。在居住空间设计中&#xff0c;设计师会根据居住者的风格喜好来定制相应的设计方案&#xff0c;以及融入设计师的风格特点来创造出独特的设计风格&#xff0c;那么让我看看都有哪些设计风格吧。传统风格…

java更好的语言_五个使Java变得更好的功能

java更好的语言我偶然发现了Brian Goetz 提出的有关Java数据类的建议 &#xff0c;立即意识到我也对如何使Java更好地成为一种语言有一些想法。 我实际上有很多&#xff0c;但这只是五个最重要的简短列表。 专制&#xff08;2006&#xff09;&#xff0c;迈克贾奇&#xff08;…

Linux 初始化系统(系统服务管理和控制程序/Init System) -- System V init(SysV init) 的简单理解

文章目录SysV init 简介SysV init 的缺点运行级别主要文件和目录的截图SysV init 简介 System V init&#xff08;缩写 SysV init&#xff09;是类 Unix 操作系统中传统的也是首款初始化系统。 服务配置文件&#xff08;bash 脚本文件&#xff09;存放在目录 /etc/init.d 下 …

oracle查询file_name,Oracle DG环境下db_file_name_convert的实际意义

关于DG环境下备库数据文件重命名的问题&#xff1a;**前言:**主要想表明DG环境下备库数据文件重命名的问题&#xff0c;以及db_file_name_convert与log_file_name_convert的作用。**实验证明&#xff1a;**主库为备库备份一份控制文件RMAN> backup current controlfile for …

python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!

简易的Pandas之路 任何使用P ython数据的人都会熟悉Pandas包。P andas是大多数行和列格式数据的go-to包。 如果你没有Pandas&#xff0c;请确保在终端中使用pip install安装&#xff1a; pip install pandas 现在&#xff0c;让我们看看Pandas包中的默认方法可以做些什么&#…