Python基础部分:11、文件和光标移动
一、文件操作
1、文件的概念
1.文件就是计算机暴露给用户操作硬盘的快捷方式
2.计算机的文件,就是用来储存某种信息的数据
3.在计算机中,文件是以二进制的方式储存信息的

2、代码打开文件的方式
方式一:
f = open(文件路径, 读写模式, encoding='utf8')
f.close()
方式二: # 子代码运行结束后会自动调用close方法关闭资源
with open(文件路径, 读写模式,encoding='utf8') as f:
须知:
# 1、open方法的第一个参数是文件路径,并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r
D:\a\n\t
r'D:\a\n\t'
# 2、with一次性可打开多个文件
with open() as f1,open() as f2,open() as f3:
二、文件读写模式
1、'r' 只读模式 read
只能读,不能写
1.文件路径不存在:直接报错
with open(r'b.txt','r',encoding='utf8') as f:
print(f.read())
2.文件路径存在:正常读取内容
with open(r'a.txt', 'r', encoding='utf8') as f:
print(f.read())
2、'w' 只写模式 write
只能写,不能看
1.文件路径不存在: # 创建新的文件
with open(r'b.txt','r',encoding='utf8') as f:
pass
2.文件路径存在: # 先清空文件内容,在重新写入
with open(r'a.txt', 'r', encoding='utf8') as f:
f.write('编写内容')
须知:
# 1、编写的内容需要自己加入换行符,在保存后u而要注意他的存在
3、'a' 尾部追写模式 add
只能在文件末尾添加数据
1.文件路径不存在: # 创建新的文件
with open(r'b.txt','a',encoding='utf8') as f:
pass
2.文件路径存在: # 在文件末尾添加
with open(r'a.txt', 'a', encoding='utf8') as f:
f.write('编写内容')
当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写
这个时候可以使用关键字: pass作用:是为了保证程序结构的完整性,否则会报错
三、文件操作模式
1、t 文本模式
文本模式为默认模式
1、读写模式简写:r、w、a
全称:rt、wt、at
须知:
# 1、只能操作文本文件
# 2、读写以字符为单位
# 3、需要指定encoding参数,不填写则采用计算机默认的编码
2、b 二进制模式
byte模式
1、不是默认的模式,需要指定生成
rb、wb、ab
须知:
# 1、可以操作任意文件
# 2、读写都是以bytes为单位
# 3、不需要指定encoding参数,不需要编码
不管是哪种模式,针对文件路径是否存在的情况都是一样的
四、文件诸多方法
1、read()
代码表现:
文件名.read()
须知:
# 1、一次性读取文件内容,并且光标停留在文件末尾,继续读取则没有内容
# 2、当文件内容比较多的时候,该方法还可能会造成计算机内存溢出
# 3、括号内可以填写数字,在文本模式下,表示读取几个字符
# 4、通常一个中文三个字节(或更多)一个英文字母一个字节
2、for循环
代码表现:
for 数据值 in 需要遍历的文件:
须知:
# 1、一行行读取文件内容 避免内存溢出现象的产生
3、line
1、readline
代码表现:
文件名.readline()
须知:
# 1、一次只读一行内容
2、readlines
代码表现:
文件名.readline()
须知:
# 1、一次性读取文件内容,会按照行数组织成列表的一个个数据值
4、readable
代码表现:
代码表现:
文件名.readable()
须知:
# 1、判断文件是否具备读取数据能力
5、write
1、write
用于向文件中写入指定数据
代码表示:
f = open("a.txt", 'w')
f.write("写入一行新数据")
f.close()
2、writeable
用来判断文件是否可写入数据
代码表示:
f = open("nhooo.txt", "a")
print(f.writable())
可以写入: Ture
不可写入: False
3、writelines
用于接收一个列表,一次性将列表中所有数据写入
代码表示:
f = open('a.txt', 'r')
n = open('b.txt','w+')
n.writelines(f.readlines())
n.close()
f.close()
6、flush
用于刷新内部缓冲区,这是在python中处理fila处理时的最佳实践,可以在将新文本写入/添加到文件之前清除内部缓冲区。将内存中文件数据立刻刷到硬盘 等价于ctrl + s
代码表示:
file_object.flush()
五、文件内光标的移动
1、seek()
移动文件的读取指针到指定位置。seek函数需要使用文件对象进行调用,无返回值。
seek()有三种用法:
seek(offset,whence)
offset 控制光标移动的位移量(字节)
whence 模式
0 基于文件开头移动多少字节
1 基于光标当前所在位置移动多少字节
2 基于文件末尾移动多少字节
ps:1和2只能在二进制模式下使用 0无所谓
2、tell()
用来获取光标当前的位置(移动的字节数)
代码表示:
文件名.tell()
# 返回光标当前所在的字节数
Python基础部分:11、文件和光标移动的更多相关文章
- python基础复习-1-1文件类型、变量、运算符、表达式
文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- python基础——元组、文件及其它
Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...
- python基础知识六 文件的基本操作+菜中菜
基础知识六 文件操作 open():打开 file:文件的位置(路径) mode:操作文件模式 encoding:文件编码方式 f :文件句柄 f = open("1.t ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- python基础语法4 文件处理
1.什么是文件 操作系统提供给你操作硬盘的一个工具 2.为什么要用文件 因为人类和计算机要永久保存数据 3.怎么用文件 相对路径:a.txt # 必须与当前py文件在同一级目录绝对路径:D:\项目路径 ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- python基础学习之文件操作&函数
1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
随机推荐
- 简单理解 Flutter 中 StatelessWidget 和 StatefulWidget
Widget 分为了两种类型,分别为 StatelessWidget 和 StatefulWidget. 顾名思义,StatelessWidget 就是无状态的组件,它只是作为一个不发生任何更新状态的 ...
- Excel 快速填充功能介绍以及注意事项
快速填充 快速填充可以让我们以某种格式来填充单元格. 用"姓氏+职位"格式来快速地填充下面表格中第三列.在第一个单元格内输入"李书记",选中需要被填充的其他单元 ...
- 【AGC】如何快速部署Serverless Url缩短模板
使用场景 Serverless短URL生成模板实现您将在云数据库服务中URL缩短的诉求.使用此模板后,仅需在云数据库服务侧配置长URL值.Serverless短URL生成模板会在后台与Bitly AP ...
- 【Java】学习路径50-线程死锁问题
生活化的例子:比如说有两个人,一把刀和一把叉子: 第一个人先需要一把刀,然后还需要一把叉子: 第二个人先需要一把叉子,然后还需要一把刀. 我们理想的情况是:一个人拿着刀,然后再拿到叉子,把事情做完,然 ...
- UIView Animation 动画学习总结
目录 一.前言 二.UIView Animation 2.1 简单动画 2.2 关键帧动画 2.3 View 的转换 三.CALayer Animation 3.1 基本动画(CABasicAnima ...
- 《Java基础——构造器(构造方法)》
Java基础--构造器(构造方法) 总结: 1.构造器名应与类名相同,且无返回值. 2."new 方法"的本质就是在调用构造器. 3.构造器的作用--初始化对象的值. ...
- Latex中也能展示动态图?
技术背景 在学术领域,很多文档是用Latex做的,甚至有很多人用Latex Beamer来做PPT演示文稿.虽然在易用性和美观等角度来说,Latex Beamer很大程度上不如PowerPoint,但 ...
- Go工程化 - 依赖注入
我们在微服务框架kratos v2的默认项目模板中kratos-layout使用了google/wire进行依赖注入,也建议开发者在维护项目时使用该工具. wire 乍看起来比较违反直觉,导致很多同学 ...
- Kubernetes 基本概念与组件
Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器:容器提供了将应用程序的代码.运行时.系统 ...
- 安装 CRI 客户端 crictl
# https://github.com/kubernetes-sigs/cri-tools/releases/ 选择版本 wget https://github.com/kubernetes-sig ...