首页 > 其他分享 >文件操作

文件操作

时间:2022-10-09 17:34:34浏览次数:46  
标签:文件 读取 全拼 二进制 模式 操作 open

文件操作​

  1. 文件的概念​

​ 就是操作系统暴露给用户操作硬盘的快捷方式

​ 双击一个文件 其实是从硬盘将数据加载到内存

​ ctrl+s 保存文件 其实是将内存中的数据刷到硬盘保存
2. #### 代码打开文件的两种方式

方式1:

​ f = open(文件路径,读写模式,encoding='utf8')

​ f.close()

方式2:

​ with open('a.txt', 'r', encoding='utf8') as f1:

​ with子代码块

winth上下文管理号处在于子代码运行结束自动调用close方法关闭资源

open方法的第一个参数是文件路径 并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r
		D:\a\n\t
        r'D:\a\n\t'
以后涉及到路径的编写 推荐加上r

with支持一次性打开多个文件
	with open() as f1,open() as f2,open() as f3:
        子代码

文件读写模式

'r': 只读模式只能读不能写

'r+':可读可写,该文件必须已存在,文件指着在最前方

'rb':表示以二进制方式读取文件,该文件必须以存在

'w':只写,打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写的数据清空覆盖)

'w+':写读,打开创建新文件并写入数据,如果文件已存在,则覆盖写。

'wb':表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。

'a':追加写,若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建文件,只能执行写(追加后面),不能读

'a+':追加读写,打开文件方式与写入方式和'a'一样,都是可以读。需注意的是你刚用'a+'打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置

文件操作模式

  • 文本模式

    1.文本模式本质就是我们日常书写的文件,只能容纳字符串不能容纳视频音频等其他格式文件
    	简写:r	全拼:rt	(读取文件)
        简写:w	全拼:wt	 (书写文件)
        简写:a	全拼:at	(追加书写文件)
    2.注意事项
        2.1文件,模式只能操作文本文件
        2.2在书写时必须要话encoding后面跟上字符的编码格式
        2.3读取的时候也只能读取字符串格式
    
  • 二进制模式

    1.二进制模式其实就是只有计算机能够听懂的语言,将我们人类能够看懂的语言编译成机器能听懂的语言,在通讯时我们将自己的语言发送通过计算机编译成二进制模式,从另一个接收端基站模拟出你发送的数据信号这样接受端就可以收到你所发送的东西。
    	全拼:rb			(读取文件)
        全拼:wb			(书写文件)
        全拼:ab			(追加书写文件)
    2.注意事项
    	2.1在标注二进制模式时必须全拼否则不识别或自动识别为文本模式
        2.2能够操纵所有的文本格式
        2.3不需要编辑encoding就可以直接编写因为会直接转成二进制
        2.4他的存储单位是以bytes来存储
    

文件诸多方法

1.read()

​ 一次性读取文件内容 并且光标停留在文件末尾 简写读取则没有内容

2.for循环

一行行读取文件内容 避免内存溢出现象的产生

3.readline()

一次只读一行内容

4.readlines()

一次性读取文件内容 会按照行数组织成列表的一个个数据值

5.readable()

判断文件是否具备读数据的能力

6.weint()

写入数据

7.weiteable()

判断文件是否具备写数据的能力

8.writelines()

接收一个列表 一次性列表中所有的数据值写入

9.flush()

将内存中文件数据立刻刷到硬盘 等价ctrl + s

文件内光标的移动

with open(r'a.txt', 'rb') as f:

​ print(f.read())

​ f.seek(0,0)

​ print(f.read())

​ f.seek(0,0)

​ print(f.read())

​ print(f.read(2)).decode('utf8'))

​ f.seek(-1, 2)

​ print(f.tell()) 返回光标距离文件开头产生的字节数

seek(offset, whence)

​ offset是位移量 以字节为单位

​ whence是模式 0 1 2

​ 0是基于文件开头

​ 文本和二进制模式都可以使用

​ 1是基于当前位置

​ 只有二进制模式可以使用

​ 2是基于文件末尾

​ 只有二进制模式可以使用

​ print(f.read(3).decode('utf8'))

标签:文件,读取,全拼,二进制,模式,操作,open
From: https://www.cnblogs.com/oiqwyig/p/16772922.html

相关文章

  • 文件操作
    文件操作目录文件操作1文件的概念2代码打开文件的两种方法文件读写操作文件操作模式文件诸多方法文件内光标的移动作业1文件的概念文件就是操作系统给用户操作的快捷方......
  • 10、python正式篇 文件和光标移动
    目录一、文件操作1、文件的概念2、代码打开文本的方式二、文件读写模式1、'r'只读模式read2、'w'只写模式write3、'a'尾部追写模式add三、文件操作模式1、t文本模式......
  • python 时间相关操作
    获取今天是周几time.strftime("%a",time.localtime())获取今天是一周的第几天time.strftime("%w",time.localtime())获取一段时间之前的日期信息((datetime.datetime.......
  • unity editor 获取指定路径下所有指定类型的文件
    使用AssetDatabase.FindAssets获取指定路径下资源。如下,获取指定路径下所有资源名:1string[]pathArr={ConstUtils.cfgPrefix_ActionTimeline};2......
  • 文件操作
    一、打开文件代码打开文件的两种方  ps:with上下文管理好处在于子代码运行结束自动调用close方法关闭资源with支持一次性打开多个文件withopen()asf1,open()......
  • C# 读取文件流
    1///<summary>2///读取文件流3///</summary>4///<paramname="filePath"></param>5///<returns></returns>6publicstaticbyte[]ReadFileStream(......
  • vue 前端导出PDF文件
    原理:通过对页面的截图进行生成PDF文件。PS:这里的截图指的是系统对页面的截图,不是你手动的截图,这里的截图进行可以长截图并且生成对应页数的PDF页码。  首先用npm引入......
  • python 文件去重
    importtimedefmain(file_name):try:withopen(file_name,'r',encoding='utf-8')asf:lines=f.readlines()print(lines)start=time.time()......
  • 文件的操作方法
    今日内容总结文件操作1.文件的概念就是操作系统暴露给用户操作硬盘的快捷方式eg:双击一个文件其实就是从硬盘将数据加载到内存Ctrl+s保存文件其实......
  • git的相关操作
    1.设置用户名和邮箱gitconfig--globaluser.name"小民"gitconfig--globaluser.email"[email protected]"2.查看一部分信息$gitconf......