python36_第36 p,就这几个方法,Python中文件的操作

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇)。

学习本课程,建议先看一遍:【计算机基础知识】课程。

一、 绝对路径与相对路径

1、绝对路径

绝对路径是以整个目录最初始的点做为起始点进行计算,计算从起始点到现在文件的位置;

2、相对路径

相对路径是以当前文件所在的位置作为起始点起先计算,计算从当前位置到指定文件的位置;、

如果还是不懂绝对路径与相对路径,可以参照初中数学中数轴的绝对距离与相对距离,这两都之间的概念是一模一样的;

二、 Python中文件的操作方法

Python中对于文件的打开、读取、修改、保存、关闭等操作都提供了相应的方法,下面介绍这些方法具体使用;

1. 打开文件(open)

方法详解:Open(文件名/文件路径,打开方式,字符编码)

例如:

open(“杨数Tos.txt”,”r”,encoding:”utf-8),表示打开当前文件夹下的杨数Tos.txt文档,以只读的方式打开,使用的字符编码是utf-8;

Open(r”d:/yy/杨数Tos.txt”,”wb”,encoding:”utf-8”),表示打开d盘下的yy文件夹下的杨数Tos.txt文档,以字节的方式写入文件,使用的字符字符编码是utf-8;

2. 读取文件内容(read)

Read():表示读取文件的所有内容;

Readline(x):表示读取一行内容,光标移到下一行的行首;使用readline读取文件x行内容,相比read的读取,在读取大型文件时,不需要把整个文件都读取,只需要读取指定行数即可

Readlines(x):功能和readline方法相同,也是读取指定行的内容;不同的时,readlines方法会将读取的每行内容存放在列表中;

3. 修改文件内容(write)

Write(“指定内容”):写入指定的内容;

Writeline(“指定内容”):按行写入指定的内容,并将光标移到下一行中,等待下一行内容的写入;

4. 保存文件(flush)

我们写入的内容,在没有点击保存之前,这些内容都是暂时存放在内存中,如果文件没有保存就被关闭了,再次打开文件时之前所写的内容都不见了;所以,我们使用程序操作文件时,都会在文件关闭前使用flush()方法将内容保存到硬盘中。

5. 关闭文件(close)

Python中close()方法不仅是进行关闭文件操作,还会将暂时存放内存中的内容保存到硬盘中;

附:可以通过closed()方法查询文件的状态,True表示已经关闭,False表示文件未关闭。

三、文件的高级操作

1、使用with管理文件操作

很多时候我们按照前面的方法操作,但总会忘记关闭文件或将暂时存放在内存中的内容保存到硬盘中;所以,Python中提供了一个方法,它会在判断文件的状态,将没有被调用的文件保存到硬盘中,并关闭文件;

这样我们只需要打开文件进行操作即可,当文件没有被调用时,with方法会将文件保存并关闭这个文件。

2、使用seek控制文件指针的位置

如果我们需要在文件的指定位置中插入指定内容,可以使用seek()方法;首先我们可能使用tell()方法获取光标所在的位置,然后使用seek()方法将光标向前或向后稳定指定位置,移动的距离以字节为单位。

Seek()方法有三种模式:

模式0:表示将光标移动到文件开头位置;

模式1:表示将光标当前位置进行移动,正数向后移动,负数向前移动;

模式2:表示将光标移动到文件末尾;

详细如下图所示:

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的关注点赞就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

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

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

相关文章

java如何使用类数组_java – 如何使用泛型与数组的类?

我想创建一个Classes数组,每个都代表我正在构建的系统中可用的类型。所有涉及的类都是公共超类的子类。所以我想做:Class extends SuperClass>[] availableTypes { SubClass1.class, SubClass2.class };这给我错误:Cannot create a gener…

协议管理模块设计

文章目录协议和合同的区别协议表说明协议签署日志协议和合同的区别 如果协议的内容写得比较明确、具体、详细、齐全,并涉及到违约责任,即使其名称写的是协议,也是合同;如果协议的内容写得比较概括、原则、很不具体,也…

java登录界面命令_Java命令行界面(第7部分):JCommander

java登录界面命令这是我系列的第七篇文章,简要介绍了用于处理Java命令行参数的各种库。 这篇文章回到了基于注释的库的覆盖范围,该库似乎是在Java中可用于处理命令行参数的众多可用库中知名度最高,最受欢迎的库之一: JCommander 。…

java体系技术框架_java框架之Spring 核心框架体系结构

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪…

tomee_微服务系列:MicroProfile和Apache TomEE

tomee介绍 MicroProfile是由知名供应商于2016年9月发起的一项计划,目的是基于JEE平台构建微服务架构。 任务是针对微服务架构优化企业Java 。 开发人员可以使用这种体系结构,通过Enterprise Java平台以标准化的方式构建和开发微服务应用程序。 API构建将…

IntelliJ IDEA中打开项目时用 Import Project(导入项目) 和 Open(打开项目) 的区别

文章目录创建测试目录使用 Open 方式打开用 Import Project 方式打开用 Open 方式打开文件夹下的多个项目用 Import Project 的方式打开多个项目总结对于 IDEA 中如下图所示的 Import Project 和 Open Project 的区别,一开始不明白怎么回事,网上看了很多…

python做数据库压力测试_Python 写的一个MongoDB压力测试

Python 写的一个MongoDB压力测试$ pip install pymongo#!/usr/bin/env python#codingutf-8#Author: Ca0Gu0from pymongo import MongoClientimport datetime,timeclass MongCli(object):def __init__(self, host"127.0.0.1", port27017, userpytest, passwd pytest12…

java命令模式返回值_JAVA 设计模式 命令模式

目录用途命令模式 (Command)将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或请求日志,以及支持可撤销的操作。命令模式是一种行为型模式。结构图-命令模式结构图Command: 用来声明执行操作的接口。abstract…

IntelliJ IDEA for Mac 如何创建普通的Java项目_创建项目_新建项目

文章目录创建 Java 新项目的流程普通 Java 项目结构Java 项目结构特例讲解创建 Java 新项目的流程 Create New Project Empty Project (1)选择【Empty Project】,则项目不会自动创建模块,项目创建成功之后,会自动弹出…

java 集成开发工具_最好的Java开发人员测试和集成工具

java 集成开发工具通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控。 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可以对项目的成功产生巨大的影响。 适当的工具使…

vue实现上下滑动翻页_基于vue实现上下滑动翻页效果

18年年底的时候,一直在做年度报告的H5页面,因为项目需要,需要实现上下滑动翻页,并且上滑的页面比正常页面的比例要缩小一定比例。效果类似于http://www.17sucai.com/pins/demo-show?id7834,这个链接是基于jquery实现的…

java bytebuffer 大小_java – 为什么DirectByteBuffer.array()有额外的大小?

我的代码是:if (frameRGBABuffer null) {frameRGBABuffer ByteBuffer.allocateDirect(cameraHeight * cameraWidth * 4).order(ByteOrder.nativeOrder());}Log.d("tag",frameRGBABuffer.array().length)我的相机分辨率是1280720,因此frameRGBABuffer应该…

关于登录 token 的设计

设计要点: APP 和 小程序 的登录 token 不需要时效性,PC端的登录 token 需要时效性token 中不要加入到期时间,因为每次有效请求,都要更新 token 的到期时间, 如果把到期时间加入到 token 中,那么每次请求就…

aws高额账单_取消堆放以提高延迟并减少AWS账单

aws高额账单大多数性能问题可以通过几种不同的方式解决。 多数人都容易理解和应用许多适用的解决方案。 一些解决方案(例如从JVM管理的堆中删除某些数据结构)更加复杂。 因此,如果您不熟悉此概念,我建议您继续学习我们最近如何减少…

丢弃commit_git丢弃本地修改的所有文件(新增、删除、修改)

一,未使用 git add 缓存代码时。可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout …

Iphone 手机如何导入/导出通讯录

打开苹果云官网,选择「通讯录」,点击左下角的「设置」,可以看到导入/导出菜单 点击进入 icloud 官网

php通过ajax下载文件,通过ajax调用php下载文件

我有一个按钮,点击它会调用ajax函数。这是我的ajax功能function csv(){ajaxRequest ajax();//ajax() is function that has all the XML HTTP Requestspostdata "data" document.getElementById("id").value;ajaxRequest.onreadystatechange…

intellij远程调试_IntelliJ中的远程调试Wildfly应用程序

intellij远程调试远程调试Java应用程序意味着使用本地开发环境连接到远程运行的应用程序。 Java开箱即-agentlib:jdwp[options]支持远程调试:目标应用程序必须使用-agentlib:jdwp[options]选项执行, -agentlib:jdwp[options]选项加​​载Java调试线协议&…

oracle 取系统当前年份_Oracle 获取当前日期及日期格式

Oracle 获取当前日期及日期格式获取系统日期: SYSDATE()格式化日期: TO_CHAR(SYSDATE(),YY/MM/DD HH24:MI:SS)或 TO_DATE(SYSDATE(),YY/MM/DD HH24:MI:SS)格式化数字: TO_NUMBER注: TO_CHAR 把日期或数字转换为字符串T…

php thread linux,Linux_linux内核函数kernel_thread,设备驱动程序中,如果需要几 - phpStudy...

linux内核函数kernel_thread设备驱动程序中,如果需要几个并发执行的人物,可以启动内核线程,启动内和县城的函数为:int kernel_thread (int ( * fn )( void * ), void * arg, unsigned long flags);kernel_thread函数的作用是产生一个新的线程…