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,一经查实,立即删除!

相关文章

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

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

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…

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…

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 下 …

java使用缓冲区读取文件_在Java中使用Google的协议缓冲区

java使用缓冲区读取文件最近发布了 有效的Java第三版 &#xff0c;我一直对确定此类Java开发书籍的更新感兴趣&#xff0c;该书籍的最新版本仅通过Java 6进行了介绍 。 在此版本中&#xff0c;显然存在与Java 7 &#xff0c; Java 8和Java 9密切相关的全新项目&#xff0c;例如…

linux多用户运行同一程序_linux系统中CentOS有哪些优势,让它长盛不衰?

CentOS是目前评价和口碑都不错的linux系统&#xff0c;甚至很多公司安装的都是CentOS系统&#xff0c;对于初入门的小白可能不了解这个系统&#xff0c;今天我们就整理一下CentOS系统的七大优势。1. 开源、免费众所周知&#xff0c;不管是微软的 Windows 还是苹果的 macOS&…

浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart

文章目录一、Upstart 简介&#xff08;一&#xff09;开发 Upstart 的缘由&#xff08;二&#xff09;Upstart 的特点二、Upstart 概念和术语&#xff08;一&#xff09;Job&#xff08;二&#xff09;Job 生命周期&#xff08;三&#xff09;事件 Event1.Signals2.Methods3.Ho…

telnet到设备里 php_金融行业思科设备典型网络故障案例:76系列典型案例(一)...

一、Cisco 7606主备引擎自动切换01故障现象某行上联路由器cisco7606 x月x日引擎自行切换&#xff0c;这种情况是第一次发生&#xff0c;至今仍是备引擎是active&#xff0c;主引擎是standby。02分析过程思科TAC提取了log日志和crashinfo信息&#xff1a;Previous engine detect…

白盒测试方法静态分析_静态分析的教育方面

白盒测试方法静态分析加入我们项目的新程序员经常问我们是否有自动格式化工具&#xff0c;以使Java代码看起来完全像Qulice期望的那样。 &#xff08;Quili是我们使用的静态分析器。&#xff09;我总是回答说&#xff0c;拥有这样一个自动代码抛光器只会有害&#xff0c;并且不…

java javadoc_使用Java 9向Javadoc搜索添加术语

java javadoc有一个相对较旧的网页&#xff0c;称为“ Proposed Javadoc Tags ”&#xff0c;最初似乎是与Javadoc 1.2一起编写的&#xff0c;其中列出了“ Sun有朝一日可能会在Javadoc中实现的标签”。 在此列表中的标签是category &#xff0c; example &#xff0c; tutoria…

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

文章目录一、Systemd 的简介和特点&#xff08;一&#xff09;同 SysVinit 和 LSB init scripts 兼容&#xff08;二&#xff09;更快的启动速度&#xff08;三&#xff09;systemd 提供按需启动能力&#xff08;四&#xff09;Systemd 采用 Linux 的 Cgroup 特性跟踪和管理进程…

查询 service monitor 时发生内部错误_通过Service访问应用 (1)

目录通过Service访问应用通过Pod IP访问应用 通过ClusterIP Service在集群内部访问 通过Service访问应用通过之前的操作&#xff0c;应用部署完成了&#xff0c;我们的Demo网站已经成功启动了&#xff0c;那么如何访问网站呢&#xff1f;通过Pod IP访问应用我们可以通过Pod IP来…

c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...

如果用C语言输出&#xff1a;Hello&#xff0c;world&#xff01;&#xff0c;该如何编写程序&#xff1f;**代码如下&#xff1a;**#include//包含标准库的信息main()//定义名为main的函数&#xff0c;不接受参数值{//main函数的语句都放在花括号中&#xff0c;也表示函数体的…

linux定时创建文件,linux下如何创建定时任务

文/PM回忆录本篇文章不详细讲述cron服务的那种配置文件&#xff0c;只是应用层面的讲解&#xff0c;只求初步的掌握。说到定时任务&#xff0c;不能不介绍下cron&#xff1a;一、cron定时任务是什么在LINUX中&#xff0c;周期执行的任务一般由cron这个守护进程来处理[ps -ef|gr…