一、文件操作

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、文件和光标移动的更多相关文章

  1. python基础复习-1-1文件类型、变量、运算符、表达式

    文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...

  2. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  3. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  4. python基础——元组、文件及其它

    Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...

  5. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  6. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  7. python基础语法4 文件处理

    1.什么是文件 操作系统提供给你操作硬盘的一个工具 2.为什么要用文件 因为人类和计算机要永久保存数据 3.怎么用文件 相对路径:a.txt # 必须与当前py文件在同一级目录绝对路径:D:\项目路径 ...

  8. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  9. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

  10. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

随机推荐

  1. i40e网卡驱动遇到的一个问题

    最近在排查一个crash文件的时候,遇到一个堆栈,即软中断收包的时候,skb的关联的dev是null,导致oops, 然后去crash分析的时候,发现skb的dev去不是null. 从oops到cra ...

  2. 【python】pandas 索引操作

    选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.l ...

  3. [CSP day1T3]树上的数

    题面 题解 这道题由于是求字典序最小的,所以要贪心地枚举数字,然后找可以走到的编号最小的点,处理这条路径. 这条路径有一些特性. 以下是特别精炼的结论: 所以一旦选好了路径,这些边的先后顺序就被定死了 ...

  4. CF914G Sum the Fibonacci (快速沃尔什变换FWT + 子集卷积)

    题面 题解 这是一道FWT和子集卷积的应用题. 我们先设 cnt[x] 表示 Si = x 的 i 的数量,那么 这里的Nab[x]指满足条件的 Sa|Sb=x.Sa&Sb=0 的(a,b)二 ...

  5. BNC Part-of-speech codes

    Extracted from the BNC Manual AJ0 adjective (general or positive) e.g. good, old AJC comparative adj ...

  6. SDUT 2022 Autumn Team Contest 7th

    1.J题:给你T组数据,每一组数据给你一个区间,让你求这个区间的范围,区间的起始时间和终止时间可能被包含或重复 思路:思路的话,就是直接把给定的两个区间的之间的数包括端点存到vector去重,然后直接 ...

  7. 基于anaconda3的Pytorch环境搭建

    安装anaconda3,版本选择新的就行 打开anaconda prompt创建虚拟环境conda create -n pytorch_gpu python=3.9,pytorch_gpu是环境名称, ...

  8. 助力培养高质量AI人才,璞公英乐学平台在日本深受好评!

    璞公英乐学平台(原名"璞睿魔数")自进入日本市场以来,受到日本用户的广泛好评.近日,日本AI门户网站AIsmiley在发刊的杂志<AI人才育成指南>中对璞公英乐学平台做 ...

  9. Linux安装Minio

    Linux安装Minio 一.安装包方式安装 1.下载minio 1.1 手动下载:https://docs.min.io/docs/minio-quickstart-guide.html ​ 访问上 ...

  10. 【gRPC】C++异步服务端客户端API实例及代码解析

    对于同步API而言,程序的吞吐量并不高.因为在每次发送一个gRPC请求时,会阻塞整个线程,必须等待服务端的ack回到客户端才能继续运行或者发送下一个请求,因此异步API是提升程序吞吐量的必要手段. g ...