python中文件的相关操作和函数
文件操作
fp = open(“文件名”,mode=“模式”,encoding=“utf-8”)
fp -> 文件的io对象 (文件句柄)
i => input 输入
o => output 输出
一.文件的写入
# 1.打开文件
fp = open("ceshi1.txt",mode="w",encoding="utf-8")
# 2.写入内容
fp.write("把内容写进去")
# 3.关闭文件
fp.close()
** 二.文件的读取**
# 1.打开文件
fp = open("ceshi1.txt",mode="r",encoding="utf-8")
# 2.读取内容
res = fp.read() # 把大象拿出来
print(res)
# 3.关闭文件
fp.close()
** 三.字节流的转换**
bytes : 是用来传输或者存储的数据格式
b’1234’ b"abcd" b"我爱你" -> b开头的字节流,范围只能是ascii编码
如果是中文使用encode 和 decode 来进行转换;
将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式)
#encode() 编码 将字符串转化为字节流(Bytes流)
#decode() 解码 将Bytes流转化为字符串
encode 编码 => 变成二进制字节流
res = strvar.encode(“utf-8”)
print(res , type(res))
<========>
decode 解码 =>二进制字节流恢复成原来的字符串
res2 = res.decode(“utf-8”)
print(res2 , type(res2))
len可以计算字节个数
num = len(res)
print(num) # 9
四.存储二进制字节流
不需要指定encoding编码集,否则报错
五.读取二进制字节流
res = fp.read()
六.复制图片(图片,音频,视频)
1. 读取原图片所有的内容
fp = open("集合.png",mode="rb")
res = fp.read()
fp.close() 2. 把读取的内容存储到另外一个文件fp = open("集合2.png",mode="wb")指定绝对路径(完整路径)
fp = open(r"E:\python31\day8\集合3.png",mode="wb")
fp.write(res)
fp.close()
文件的扩展模式
(utf-8编码格式下 默认一个中文三个字节 一个英文或符号 占用一个字节)
(1)r+ 可读可写
fp = open("test1.txt",mode="r+",encoding="utf-8")
res = fp.read()
fp.write("789")
fp.close()
print(res)
注意点:r,r+ 模式下,
1、文件必须存在才能创建文件IO对象(fp)
2、光标会停止在读写终止的位置
(2)w+ 可读可写
fp = open("test2.txt",mode="w+",encoding="utf-8")
fp.write("梦想起航")
fp.seek(0)
res = fp.read()
fp.close()
print(res)
注意点:w,w+ 模式下,
1、文件不存在时可自动创建
2、光标会停止在读写终止的位置(同r,r+)
3、该模式下,生成文件IO对象(fp)时已默认清空文件内容(慎用)
(3)a+ (可读可写)(写入内容时强制把光标移动到最后)
fp = open("test3.txt",mode="a+",encoding="utf-8")
fp.seek(0)
fp.write("789")
fp.seek(0)
res = fp.read()
fp.close()
print(res)
注意点:a,a+ 模式下,
1、文件不存在时可自动创建
2、写入时光标会被强制放到文件内容末尾(区别于r,w)(即使使用seek移动时也不行)
3、该模式下,生成文件IO对象(fp)时已默认清空文件内容(慎用)
read seek tell 三个函数
#read() 功能: 读取字符的个数(里面的参数代表字符个数)
#seek() 功能: 调整指针的位置(里面的参数代表字节个数)
#tell() 功能: 当前光标左侧所有的字节数(返回字节数)
seek(0) 直接把光标移动到文件开头
seek(0,2) 直接把光标移动到文件末尾
tell() 计算文件指针左侧所有的字节数
***注意点,seek移动中文字节的时候,有可能报错
三.with语法的使用 (close操作with语法可以自动实现
with open("集合.png",mode="rb") as fp:res = fp.read()with open(r"E:\python31\day8\集合4.png",mode="wb") as fp:fp.write(res)
优化合并如下:
with open("集合.png",mode="rb") as fp1 , open(r"E:\python31\day8\集合5.png",mode="wb") as fp2:res = fp1.read()fp2.write(res)
close 文件关闭的意义
刷新缓冲区 flush
# 当文件关闭的时候自动刷新缓冲区
# 当整个程序运行结束的时候自动刷新缓冲区
# 当缓冲区写满了 会自动刷新缓冲区
# 手动刷新缓冲区
fp.flush() 手动把缓冲区里面的内容写入文件当中
文件的相关函数
readable() 判断文件对象是否可读
writable() 判断文件对象是否可写
readline() 读取一行
‘’’‘参数 > 当前行字符总个数 => 以当前行读取
参数 < 当前行字符总个数 => 以参数的大小来读取字符的个数
默认readline 读取一行’’’
readlines() 将文件中的内容按照换行读取到列表当中
lst_new = []
with open("ceshi7.txt",mode="r+",encoding="utf-8") as fp: lst = fp.readlines()# print(lst) # ['\t窗前明月光\n', '疑是地上霜\t\t\n', '\t\t举头王明月\n', '\t低头思故乡']for i in lst: lst_new.append(i.strip())print(lst_new) # ['窗前明月光', '疑是地上霜', '举头王明月', '低头思故乡']
writelines() 功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据
lst = ["春眠不觉晓\n","处处蚊子咬\n","夜来大狗熊\n","一个也跑不了\n"]
# lst = [1,2,3,4] error
with open("ceshi8.txt",mode="w",encoding="utf-8") as fp:fp.writelines(lst)
truncate() 功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)
with open("ceshi8.txt",mode="r+",encoding="utf-8") as fp:fp.truncate(3)
python中文件的相关操作和函数相关推荐
- python对文件的相关操作
python对文件的相关操作 保存图片 打开文件夹 选择文件打开 后续 保存图片 import cv2 cv2.imwrite('D:\\1.png', img_s) # img是你要保存的图片 打开 ...
- Python中文件的读写操作
文章目录 一.文件操作 open(参数1,参数2, 参数3...) - 打开文件,打开的是一个文件对象. 参数1:路径和文件名 参数2:r.a.w.+等 参数3:encoding = 'utf-8' ...
- python中文件的简单操作
一.mode="r" mode="r":一次性读取文本中全部的内容,以字符串的形式返回结果 read :读取内容 readline : 读取一行 readlin ...
- Python中文件的介绍以及操作
1.文件的介绍 什么是文件? 如图展示: 使用文件的目的: 保存数据存放在磁盘,把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力 2.文件的打开与关闭 1.打开文件 ...
- python 中文件输入输出及os模块对文件系统的操作
整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...
- python文件夹在哪_Python文件夹与文件的相关操作(推荐)
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- python对文件的读操作有哪些方法-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- python对文件的读操作方法有哪些-Python中文件的读取和写入操作
从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...
- Python中文件操作和文件夹操作的学习笔记
目录 1 前言 2 工作目录设置 设置工作目录: 获取当前运行文件目录 将工作目录重置为当前运行文件的父目录 遍历文件夹中所有的子文件(包含子文件.孙文件): 3 判断文件(夹)是否存在 4 文件读写 ...
最新文章
- python特性(八):生成器对象的send方法
- python语言可以应用在哪些方面-Python语言的应用领域主要有哪些?
- MOSS的SPBuiltInFieldId成员的字段类型对照关系表
- Adapter适配器设计模式
- 文件包含——apache日志文件包含shell(四)
- torch.randn【返回从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数】
- Docker学习总结(62)——docker-compose.yml 详细说明
- vs2008编写第一个Windows程序
- SPI协议的通信原理
- 利用rufus重装ubuntu
- 年度Sweb绩效考评表
- LeetCode常见题型——背包问题
- 频繁gc是什么意思_一次解决jvm GC过于频繁的经历
- java生成docx文件、pdf文件、docx转pdf、docx转图片 pdf转图片工具
- 一个简单的网页制作作业,宠物html静态网页制作成品代码(学生网页设计作业源码)
- 测试cs架构的软件,基于UI的CS架构软件自动化测试方法及系统
- CTex winEdit报错“系统找不到指定文件”怎么办
- linux firefox严重卡顿,Firefox火狐浏览器出现卡顿崩溃等问题的解决方法
- 小程序源码:老人疯狂裂变引流视频推广微信小程序-多玩法安装简单
- 计算机网络按分布范围分类可分为局域网,计算机网络按照覆盖范围可以分为局域网...
热门文章
- 中e管家如何增强理财风险防范意识
- 工厂模式(Factory Patter)
- 浅浅记录一下springSecurity的学习
- PHP ETH私链交易操作
- Flink Web UI中不显示各算子节点的接收数据量
- 《重庆市绿色建筑“十四五”规划(2021 [UNK] 2025年)》发布
- 汉文博士新测试版0.5.3.2020发布
- ios h5页面回弹
- 空字符 空格字符(字符) 空字符串 NULL的区别
- 【Stateflow入门】任务7.构建扫地机器人