python中内存和磁盘交互样例

目录

一、内存交互

1.1 变量与数据结构

1.2 对象的创建和方法调用

1.3 操作内存中的数据

二、磁盘交互

2.1 文件读写

2.2 操作系统相关的文件操作

2.3 读写 JSON 文件

2.4 读写 CSV 文件


一、内存交互

内存交互:主要涉及变量、数据结构、对象的创建与操作,以及使用 StringIOBytesIO 等类在内存中操作数据。

1.1 变量与数据结构
  • 变量的赋值和使用都在内存中进行。
  • 数据结构如列表(list)、字典(dict)、集合(set)、元组(tuple)等都是在内存中操作的。
# 变量和数据结构在内存中操作
a = 10
b = [1, 2, 3, 4, 5]
c = {"name": "Alice", "age": 30}
1.2 对象的创建和方法调用
  • Python 中对象的创建、方法调用等操作都是在内存中进行的。
class MyClass:def __init__(self, value):self.value = valuedef increment(self):self.value += 1obj = MyClass(5)
obj.increment()
1.3 操作内存中的数据
  • 使用 io.StringIOio.BytesIO 类,可以在内存中操作字符串和字节流。
from io import StringIO, BytesIO# 使用 StringIO 在内存中操作字符串
mem_str = StringIO()
mem_str.write("Hello, world!")
mem_str.seek(0)
print(mem_str.read())# 使用 BytesIO 在内存中操作字节流
mem_bytes = BytesIO()
mem_bytes.write(b"Hello, world!")
mem_bytes.seek(0)
print(mem_bytes.read())

二、磁盘交互

磁盘交互:主要涉及文件读写、操作系统文件操作(如创建、删除、重命名文件和目录)、读写 JSON 文件和 CSV 文件等。

2.1 文件读写

  • 使用内置的 open() 函数读写文件,这是最常见的磁盘交互方式。
# 写入文件
with open('example.txt', 'w') as file:file.write("Hello, world!")# 读取文件
with open('example.txt', 'r') as file:content = file.read()print(content)
2.2 操作系统相关的文件操作
  • 使用 os 模块进行文件和目录的创建、删除、重命名等操作,这些操作都会与磁盘交互。
import os# 创建目录
os.mkdir('new_directory')# 重命名文件
os.rename('example.txt', 'new_example.txt')# 删除文件
os.remove('new_example.txt')# 删除目录
os.rmdir('new_directory')
2.3 读写 JSON 文件

  • 使用 json 模块将 Python 对象序列化为 JSON 格式并写入文件,或从文件中读取 JSON 格式的数据并反序列化为 Python 对象。
import jsondata = {"name": "Alice", "age": 30}# 写入 JSON 文件
with open('data.json', 'w') as file:json.dump(data, file)# 读取 JSON 文件
with open('data.json', 'r') as file:loaded_data = json.load(file)print(loaded_data)
2.4 读写 CSV 文件

  • 使用 csv 模块读写 CSV 文件,与磁盘进行交互。
import csv# 写入 CSV 文件
with open('data.csv', 'w', newline='') as file:writer = csv.writer(file)writer.writerow(['Name', 'Age'])writer.writerow(['Alice', 30])writer.writerow(['Bob', 25])# 读取 CSV 文件
with open('data.csv', 'r') as file:reader = csv.reader(file)for row in reader:print(row)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/13275.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

05.13_111期_C++_红黑树

红黑树的性质 保证树中最长路径的长度不超过最短路径的长度的两倍 用什么方法保证上面这一点?将树中的结点视为是有颜色的 采用如下的规则: rule1: 树中的结点不是红色就是黑色 rule2: 树的根节点是黑色的 rule3: 如果一个结点是红色…

遇见问题-mysql8.0.28 this is incompatible with sql_mode=only_full_group_by

1.错误分析以及原因 1.1.sql_mode sql_mode 是数据库规范校验规则,比如这里的sql_modeonly_full_group_by 就是一个校验规则,会规定分组查询结果集不能有GROUP BY中没有出现的列。 1.2.问题原因 mysql 5.7.5 版本及以上版本会出现,mysql …

邦注科技 电解式超声波清洗机的原理介绍

电解式超声波去除模具表面油污锈迹的原理结合了电解和超声波技术的优势。 首先,电解作用是通过在特定的电解槽中,将模具作为阴极(放入清洗框即可),并将有制式电极棒作为阳极。在电解过程中,电流如同魔法师…

Cache基本原理--以TC3xx为例(1)

目录 1.为什么要使用Cache 2.Memory与Cache如何映射 2.1 地址映射概设 3.小结 为什么要使用Cache?为什么在多核工程里要谨慎使用DCache?Cache里的数据、指令是如何与Memory映射? 灵魂三连后,软件工程师应该都会有模糊的回答&…

【虚拟仿真】Unity3D中实现对大疆无人机遥控器手柄按键响应

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近项目中需要用到大疆无人机遥控器对程序中无人机进行控制,遥控器是下图这一款: 博主发…

微信小程序之九宫格抽奖

1.实现效果 2. 实现步骤 话不多说&#xff0c;直接上代码 /**index.wxml*/ <view class"table-list flex fcc fwrap"><block wx:for"{{tableList}}" wx:key"id"><view class"table-item btn fcc {{isTurnOver?:grayscale…

基于springboot+vue+Mysql的交流互动系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

java入门详细教程之集合的理解与应用

一、Collenction集合 数组和集合的区别 长度 数组的长度是不可变的,集合的长度是可变的 数据类型 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 Collection 集合概述和使用 Collection集合概述​&#xff1a; 是单…

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(二)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(二) LlaMA 3 系列博客 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三) 基于 LlaMA …

Django接口卡死一直没有返回响应

当Django接口出现卡死且没有返回响应时&#xff0c;可能是由于多种原因导致的。以下是一些排查和解决问题的步骤&#xff1a; 查看日志&#xff1a; 首先检查Django的日志&#xff0c;看看是否有任何错误或异常被记录。这可以帮助你确定问题的根源。 检查数据库连接&#xff1…

【漏洞复现】泛微OA E-Cology GetLabelByModule SQL注入漏洞

漏洞描述&#xff1a; 泛微OA E-Cology是一款面向中大型组织的数字化办公产品&#xff0c;它基于全新的设计理念和管理思想&#xff0c;旨在为中大型组织创建一个全新的高效协同办公环境。泛微OA E-Cology getLabelByModule存在SQL注入漏洞&#xff0c;允许攻击者非法访问和操…

使用库进行Linux下串口收发通信(最简单没有之一)的记录

c-periphery 是一个小型 C 库,用于用户空间 Linux 中的 GPIO、LED、PWM、SPI、I2C、MMIO 和串行外设 I/O 接口访问。 c-periphery 简化并整合了原生 Linux API 到这些接口。 c-periphery 在嵌入式 Linux 环境(包括 Raspberry Pi、BeagleBone 等平台)中与外部外设连接非常有…

orangepi-5b 使用 rknn-toolkit2 实测

orangepi-5b 使用 rknn-toolkit2 实测 主机环境&#xff1a;ubuntu20.04 x86_64 开发板 orangepi-5b 4G ram 32G emmc 网站介绍 http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5B.html 基于rk3588s 所以我们使用 rknn-toolkit2 st…

【SAP HANA 32】HANA中distinct和having去重比较

目录 1、DISTINCT 2、HAVING 3、性能对比 3.1、查询复杂度 3.2、查询优化 3.3、内存使用</

colab使用本地数据集微调llama3-8b模型

在Google的Colab上面采用unsloth,trl等库&#xff0c;训练数据集来自Google的云端硬盘&#xff0c;微调llama3-8b模型&#xff0c;进行推理验证模型的微调效果。 保存模型到Google的云端硬盘可以下载到本地供其它使用。 准备工作&#xff1a;将训练数据集上传到google的云端硬盘…

字典(dict)

1.概念 列表和元组的使用缺点&#xff1a;当存储的数据要动态添加、删除的时候&#xff0c;我们一般使用列表&#xff0c;但是列表有时会遇到一些麻烦 解决方案&#xff1a;既能存储多个数据&#xff0c;还能在访问元素的很方便的定位到需要的元素&#xff0c;采用字典 语法…

[数据集][目标检测]结直肠息肉内镜图像病变检测数据集13524张2类别

数据集共分为2个版本&#xff0c;即A版和B版&#xff0c;两个版本图片数一样&#xff0c;数据集图片不存在重叠文件名也不存在重复&#xff0c;可以合并训练&#xff0c;也可以单独训练。 下面是信息介绍&#xff1a; 结直肠息肉内镜图像病变检测数据集13524张2类别A版 数据…

Elasticsearch的并发控制策略

文章目录 利用external对版本号进行外部控制利用if_seq_no和if_primary_term作为唯一标识来避免版本冲突 ES中的文档是不可变更的。如果你更新一个文档,会将就文档标记为删除,同时增加一个全新的文档。同时文是的version字段加1内部版本控制 If_seq_no If_primary_term 使用外…

【Entity Framework】聊聊EF中复杂查询运算符

【Entity Framework】聊聊EF中复杂查询运算符 文章目录 【Entity Framework】聊聊EF中复杂查询运算符一、概述二、联接三、GroupJoin四、SelectMany4.1/集合选择器不引用外部4.2/集合选择器引用 where 子句中的外部 五、GroupBy六、Left Join七、总结 一、概述 语言集成查询 (…

使用Xterm实现终端构建

————html篇———— // 需要使用Xterm Xterm的官网&#xff1a; Xterm.js 新建项目 增加基本文件 下载 框架 npm init -y Xterm依赖 npm install xterm/xterm 参考文档写的代码 贴入代码 <html><head><link rel"stylesheet" href"nod…