【Python】文件 读取 写 os模块 shutil模块 pickle模块
目录
1.文件
1.1 读取操作
1.2 写操作
1.3 os:文件管理
1.4 os.path:获取文件属性
1.5 shutil:文件的拷贝删除移动解压缩
1.6 pickle:数据永久存储
1.文件
-
文件编码
编码是一种规则集合,记录内容和二进制间相互转换的逻辑。
最常用:UTF-8编码
1.1 读取操作
## 打开文件获取文件对象 # mode:读取模式(r:只读;w:删除原内容,若不存在则创建;a:追加内容,若不存在则创建) # encoding:编码格式(一般UTF-8) 文件对象=open(file,mode,encoding) ## 读取指定长度字节 # 不指定则读全部 文件对象.read(num) ## 读取一行 文件对象.readline() ## 读取全部行,得到列表 文件对象.readlines() ## 循环文件行,一次循环得一行 for line in 文件对象 ## 关闭文件对象 文件对象.close() ## 打开用完后,自动关闭 with open('文件名',) as f:data=file.read()
-
注:读取完后一定要close,不然文件会一直被占用。
1.2 写操作
f=open('1.txt','w') # 创建新文件,只允许写 f=open('filename','a') # 在已经存在的文件中追加内容 # 文件写入 f.write('zyy') # 并没有写入文件,而是在缓冲区,当flush或者close时写入文件 #(为了避免频繁打开硬盘浪费时间) # 内容刷新 f.flush() # 内容写入硬盘
1.3 os:文件管理
用于文件管理。
# 创建新目录 os.mkdir(path) # 删除空目录 os.rmdir(path) # 返回目录中所有文件 os.listdir(path) # 删除path指向的文件 os.remove(path) # 重命名文件 # src,dist:命名前后路径 os.rename(src,dist) # 改变文件权限 os.chmod(path,mode) # 查询当前工作路径 os.getcwd() # 改变当前工作目录 os.chdir(path) # 执行shell命令 os.system(命令) os.system('cmd')
1.4 os.path:获取文件属性
用于文件属性获取。
# 返回当前python执行脚本的路径 os.path.dirname(__file__) # 返回一个路径的目录名和文件名 os.path.split(path) # 分别检验路径是文件还是目录 os.path.isfile(path) os.path.isdir(path) # 检验给出路径是否真的存在 os.path.exists(path) # 返回路径path中的文件名 os.path.basename(path) os.path.dirname(path) # 分离文件名与扩展名 os.path.splitext() # 获取文件大小 os.path.getsize(name)
1.5 shutil:文件的拷贝删除移动解压缩
主要针对文件的拷贝删除移动。
# 拷贝文件 shutil.copy(file_path,dir_path) # 移动或重命名文件 # 如果有重名文件将报错 shutil.move(file_path,dir_path) # 移动到另外一个文件夹中 shutil.move(file_path,new_file_path) # 冲命名为新的绝对路径 # 拷贝文件夹 shutil.copytree(file_path,dir_path) # 拷贝所有文件到新文件夹 # 删除文件夹 shutil.rmtree(dir_path)
# 压缩文件 shutil.make_archive(base_name, format, root_dir, [base_dir]) # base_name : 创建的目标文件名,包括路径,减去任何特定格式的扩展。 # format : 压缩包格式。”zip”, “tar”, “bztar”或”gztar”中的一个。 # root_dir : 需要打包的文件夹路径。打包完成时存储在上一级目录。 # base_dir : 使用后会将base_dir作为路径,解压后有个有层级的文件夹,而仅非只有单独的打包内容。 # 解压文件 shutil.unpack_archive(filename, extract_dir, format) # filename:压缩文档的完整路径 # extract_dir:解压缩路径,默认为当前目录。 # format:压缩格式。默认使用文件后缀名代码的压缩格式。"zip", "tar", "bztar"或"gztar"中的一个。
1.6 pickle:数据永久存储
Python的pickle模块实现了基本的数据序列和反序列化。
序列化操作:能够将程序中运行的对象信息保存到文件中去,永久存储。
反序列化操作:能够从文件中创建上一次程序保存的对象。
-
pickle提供dumps(), loads(), dump(), load()
import pickle tup0=('zyy',{"k1",9},[9,0],None) # dumps(obj) # 将python对象序列封装成二进制对象 pick1=pickle.dumps(tup0) # 将tup0转换成二进制对象 # loads(bytes_obj) # 读取给定的二进制对象数据,并将其转换为python对象 mytup=pickle.loads(pick1) # 将pick1转成python对象 # pickle.dump(obj, file, protocol=None) # 将obj以二进制形式保存到file中去 with open("a.txt",'wb')as f:pickle.dump(tup1,f) # pickle.load(file) # 将二进制对象文件转换成python对象 with open("a.txt",'rb')as f:tup2=pickle.load(f)
相关文章:
【Python】文件 读取 写 os模块 shutil模块 pickle模块
目录 1.文件 1.1 读取操作 1.2 写操作 1.3 os:文件管理 1.4 os.path:获取文件属性 1.5 shutil:文件的拷贝删除移动解压缩 1.6 pickle:数据永久存储 1.文件 文件编码 编码是一种规则集合,记录内容和二进制间相互…...
PAT A1087 All Roads Lead to Rome
1087 All Roads Lead to Rome 分数 30 作者 CHEN, Yue 单位 浙江大学 Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness. Input Specific…...
浅谈HttpURLConnection所有方法详解
HttpURLConnection 类是 Java 中用于实现 HTTP 协议的基础类,它提供了一系列方法来建立与 HTTP 服务器的连接、发送请求并读取响应信息。下面是 HttpURLConnection 类中常用的方法以及其详细解释: ---------------------------------------------------…...
前端快速创建web3应用模版分享
一、起因 一直以来都有一个创建前端Dapp模版的愿望,一来是工作中也有这样的需要,避免每次都要抽离重复的代码。二来是这样的模版也能帮助其他前端快速了解到web3应用的脚手架以及框架结构。于是决定整理一个模版并开源,希望我的代码能帮助到大…...
越权漏洞讲解
越权漏洞是指系统或应用程序中存在的安全漏洞,允许攻击者以超越其授权范围的方式访问系统资源或执行特权操作。这种漏洞可能会导致严重的安全风险,因为攻击者可以利用它来获取敏感信息、修改系统设置或执行恶意操作。 下面是一些常见的越权漏洞类型和它…...
短视频矩阵源码系统打包.源码
Masayl是一款基于区块链技术的去中心化应用程序开发平台,可帮助开发者快速、便捷地创建去中心化应用程序。Masayl拥有丰富的API和SDK,为开发者们提供了支持。此外,Masayl还采用了高效的智能合约技术,确保应用程序的稳定、安全和高…...
云南LED、LCD显示屏系统建设,户外、室内广告大屏建设方案
LED大屏幕显示系统是LED高清晰数字显示技术、显示单元无缝拼接技术、多屏图像处理技术、信号切换技术、网络技术等科技手段的应用综合为一体,形成一个拥有高亮度、高清晰度、技术先进、功能强大、使用方便的大屏幕投影显示系统。通过大屏幕显示系统,可以…...
Shell脚本:expect脚本免交互
Shell脚本:expect脚本免交互 expect脚本免交互 一、免交互基本概述:1.交互与免交互的区别:2.格式:3.通过read实现免交互:4.通过cat实现查看和重定向:5.变量替换: 二、expect安装:1.…...
王道考研计算机网络第二章知识点汇总
2.1.1物理层基本概念 电气特性和功能特性易混淆,注意区分。电气特性一般指的是某个范围,功能特性一般指的是电平所代表的含义。 2.1.2数据通信基础知识 同步传输是指发送方和接收方节奏是统一的,数据之间是没有间隔的是一个一个的区块。在键…...
06.05
1.二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 考虑一个最朴素的方法:先将 aaa 和 bbb 转化成十进制数,求和后再转化为二进制数。利用 Python 和 Java 自带的高精度运算,我们可以很简单地写出这…...
【虹科案例】虹科数字化仪在激光雷达大气研究中的应用
01 莱布尼茨研究所使用激光雷达进行大气研究 图 1:在 Khlungsborn 的 IAP 办公室测试各种激光器 大气研究使用脉冲激光束通过测量大气中 100 公里高度的多普勒频移和反向散射光来测量沿光束的温度和风速。返回的光信号非常微弱,会被阳光阻挡,…...
Java抽象类介绍
1 问题 声明一个名为Employee的抽象类,其中包含name(姓名)和sex(性别)两个String类型的私有属性,并声明一个继承于Employee抽象类的子类Teacher。 2 方法 2.1 定义一个抽象类:Employee。 2.2 为Employee类设计一个抽象方法。 2.3实现抽象类Em…...
适配器模式的运用
文章目录 一、适配器模式的运用1.1 介绍1.2 适配器模式结构1.3 类适配器模式1.3.1 类适配器模式类图1.3.2 代码 1.4 对象适配器模式1.4.1 对象适配器模式类图1.4.2 代码 1.5 应用场景1.6 JDK源码解析1.6.1 字节流到字符流的转换类图1.6.2 部分源码分析1.6.3 总结 一、适配器模式…...
2023/6/8总结
MySQL必知必会 commit 和 rollback 的差异是commit会提交,而rollback不会,就好像是撤回。 使用保留点: 简单的rollback和commit语句就可以写入或者撤销整个事务处理,但是,只是对简单的事务处理才能这样做࿰…...
AIGC大模型之——以文生图介绍
一、什么是以文生图? 以文生图是AIGC ( AI Generated Content )框架中的一个关键技术,通过文字描述,将文字转化为图像并展示出来。以文生图具有白动化程度高、精度高、可扩展性强、可定制化等优势,具有广泛的应用前景&…...
kali学习笔记(二)
一、关闭自动锁屏 关闭自动锁屏对于测试人员来说,可以按照自己的习惯来设置,不然kali会过十分钟就锁屏,有的时候会比较不方便。 1、使用root账号登录,在display设置选项中做如下设置。 2、把休眠选项关掉。 二、创建快照 关机创…...
avx指令集判断的坑
(一)背景 项目中依赖算法同学编写的算法模块,他们在使用avx,sse指令集来提高速度,结果在一些机器上崩溃,导致项目无法发版。 我给他们说,我们项目中使用了谷歌的 libyuv 库,也使用了…...
求内推,求明主!
个人资料: 性 别: 男 年 龄: 30岁 户 籍: 湖南衡阳 专 业: 计算机科学与技术 求职意向: Java软件开发工程师/JavaWeb开发工程师 现 居 地: 深圳市龙华新区 自考本科学历,6年工作经验(做过商城,APP,小程序,也研究多个开源案例,开源项目,并提交过PR) 自我评价: 做事积极主动,有责…...
第十三章:约束
第十三章:约束 13.1:约束(constraint)概述 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 为…...
M.2 SSD接口详解
一、M.2简介 M.2接口是一种新的主机接口方案,可以兼容多种通信协议,如sata、PCIe、USB、HSIC、UART、SMBus等。 M.2接口是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来的mSATA接口。无论是更小巧的规格尺…...
在本地Windows 11 系统的桌面版Docker上搭建PlantUML
文章目录 在本地Windows系统的桌面版Docker上搭建PlantUML简介步骤步骤 1:安装Docker Desktop步骤 2:启动Docker Desktop步骤 3:拉取PlantUML镜像步骤 4:运行PlantUML容器步骤 5:访问PlantUML Web界面 结论参考资料 结…...
mysql的sql_mode模式
1、sql_mode是MySQL中的一个系统变量,用于设置服务器在执行SQL语句时的行为模式。它可以控制服务器的严格性和特性,包括数据校验、日期处理、空值处理等。 下面是一些常见的sql_mode模式及其作用: STRICT_ALL_TABLES:为所有存储…...
chatgpt赋能python:Python编程必备之OpenCV库下载与安装
Python编程必备之OpenCV库下载与安装 作为目前最热门的计算机视觉库之一,OpenCV在人工智能领域中发挥着巨大的作用。而Python作为一门强大的编程语言,在OpenCV的使用上也有其独特的优势。本文将介绍Python如何下载和安装OpenCV库,以及如何引…...
sparkSQL的使用
sparksql只能处理结构化数据 基于rdd构建dataframe对象 from pyspark.sql import SparkSession from pyspark.sql.types import StructType, StringType, IntegerTypeif __name__ __main__:spark SparkSession.builder.appName(test).master(local[*]).getOrCreate()sc spa…...
gitignore的语法
.gitignore 文件是用来告诉 Git 哪些文件或目录不应该被跟踪的。下面是一些常见的 .gitignore 文件语法规则: 空行或以#开头的行将被 Git 忽略,可以用作注释。 星号 * 代表零个或多个任意字符。例如, *.txt 会匹配所有的 .txt 文件。 问号 ? 代表一个…...
长袋除尘器
长袋低压脉冲除尘器是具有先进水平的高效袋式除尘设备,是一种处理风量大、清灰效果好、除尘效率高、运行可靠、维护方便、占地面积小的大型除尘设备。 工作机理 1、过滤原理: 长袋低压脉冲除尘器含尘气体由进风口进入,经过灰斗时,气体中部分大颗粒粉尘…...
HTML+CSS实训——Day02——仿一个网易云音乐的登陆界面
仓库链接:https://github.com/MengFanjun020906/HTML_SX 前言 今天要继续完成我们的音乐软件了,昨天写完了封面,今天该完成开屏广告和登陆界面了。 登陆界面代码 <!DOCTYPE html> <html lang"en"> <head><meta charse…...
css蓝桥杯--电影院排座位
目录 一、介绍二、准备三、⽬标四、代码五、知识点六、完成 一、介绍 随着⼈们⽣活⽔平的⽇益提升,电影院成为了越来越多的⼈休闲娱乐,周末放松的好去处。各个城市的电影院数量也随着市场的需求逐年攀升。近⽇,⼜有⼀个电影院正在做着开张前…...
c++学习——多态
多态 **多态的语法****多态的底层原理图****多态案1——计算机类****纯虚函数和抽象类****多态案例2——饮品****虚析构和纯虚析构****多态案例3—— 电脑组装** 多态是C面向对象三大特性之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动…...
Java SPI机制及原理详解
前言 Java SPI (Service Provider Interface) 是一种重要的组件化方式,它可以让程序在运行时动态地装载一些实现模块,从而增强程序的可扩展性和灵活性。本文将详细介绍 Java SPI 的基本概念、原理以及使用方法。 1. 什么是Java SPI Java SPI 是一种标准…...
网站建设与维护是做什么/百度网盘搜索神器
上酸菜咯,仔细体会下句型用法、词语搭配,很有帮助喔~~ 1. According to a recent survey, four million people die each year from diseases linked to smoking. 2. The latest surveys show that quite a few children have unpleasant associations w…...
wordpress响应瀑布主题/营销网络建设
嵌套查询 带有EXISTS谓词的子查询 EXISTS谓词 —— 存在量词 ∃\exists∃ 带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false” 若内层查询为空,外层WHERE子句返回false若内层查询非空,外层WHERE子句返回tr…...
网站建设推广公司排名/百度快照查询
nslookup # ipv4 nslookup 域名 # ipv6 nslookup -queryAAAA 域名...
企业网站需要在电信做哪些备案/建个网站需要多少钱?
没有所谓最好的教程,每个人的知识背景不一样,定位自然也不一样的。非要推荐一本的话,个人觉得目前市面上“最好”的一本入门教程之一是《Python编程:入门到实践》。说说我的推荐理由: 这本书虽然是国外作者写的&#x…...
360未经证实的网站如何做/百度地图网页版
关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material ,...
网线水晶头排线图片/谷歌优化的最佳方案
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--串字符串 Description“回文串”是一个正读和读反都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串否是是“回文”。 Input输入包括多个试测实例&…...