浅谈Open.Json.pickle.Os

一、Open函数使用

open函数是 Python 中用于打开文件的内置函数,它返回一个文件对象,该文件对象提供了对文件进行读写操作的方法。使用 open 函数时,通常需要指定至少两个参数:文件名(file)和模式(mode)。模式决定了文件是以只读、只写、追加、读写等哪种方式被打开的。

file_object = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file:必需,文件路径(相对或绝对路径)。

mode:可选,文件打开模式。默认为 'r',即只读模式。其他常用模式包括 'w'(只写,文件存在则覆盖)、'a'(追加,写入的数据会被追加到文件末尾)、'r+'(读写)等。

buffering:可选,设置缓冲策略。

encoding:可选,用于指定文件的编码方式,如 'utf-8'。

errors:可选,指定编码和解码错误时的处理方式。

newline:可选,控制跨平台行尾符的行为。

closefd:可选,如果文件描述符是用 os.open() 打开的,并且传递给了 open()closefd 应该为 False,否则 open() 关闭文件时也会关闭文件描述符。

opener:可选,一个可调用对象,用于打开文件(通常是底层系统调用),通常不需要。

读取文件

# 打开文件并读取内容  
with open('example.txt', 'r', encoding='utf-8') as file:  content = file.read()  print(content)  # 使用with语句可以自动管理文件的打开和关闭

 写入文件

# 打开文件并写入内容  
with open('output.txt', 'w', encoding='utf-8') as file:  file.write('Hello, World!')  # 如果文件已存在,'w' 模式会覆盖原有内容

 追加内容到文件

# 打开文件并追加内容  
with open('output.txt', 'a', encoding='utf-8') as file:  file.write('\nAnother line.')  # 'a' 模式会在文件末尾追加内容,不会覆盖原有内容

读写文件

# 打开文件进行读写  
with open('example.txt', 'r+', encoding='utf-8') as file:  content = file.read()  print(content)  file.write('\nSome new content.')  # 注意:'r+' 模式时,如果文件不存在会抛出 FileNotFoundError

二、Json与pickle

序列化,将python数据结构 转换为字符串;反序列化,将字符串 转换为python数据结构 方便解析。

json是一种轻量级数据格式,适用与所有编程语言。

json序列化

1.方式一:dumps,第一步,序列化成字符串,第二步,将字符串写入文件。

datas = {"user": [{"id": 101, "un": "张三", "pwd": "123456"}],"student": [],"z": None
}
datas_str = json.dumps(datas)
with open("./示例.txt", 'w') as f:f.write(datas_str)

2.方式二:dump,一步完成,把序列化结果写入文件‘。

with open("./示例.txt", 'w') as f:json.dump(datas, f)

 json反序列化

1.方式一:loads,第一步,读取文件内容,返回字符串,第二步,将字符串反序列化为python数据结构。

with open("./data.txt", "r") as f:datas = json.load(f)first_user = datas["user"][0]print(first_user.get("un"), first_user.get("pwd"))

2.方式二:load,一步完成,把文件内容反序列化成python数据结构。

with open("./data2.txt", "rb") as f:data = pickle.load(f)

三、Os模块

Os模块全称操作系统模块。

相关指令:

os.curdir:当前路径

import osprint(os.curdir)
#结果:.

os.pardir:上级路径

import osprint(os.aprdir)
#结果:..

os.chdir:更改路径

os.listdir:当前路径下文件信息

import os
print(os.listdir("d:\\测试文件"))
#结果:['01.txt', '21.txt']

os.mkdir:创建文件夹

import os
os.mkdir("d:\\测试文件\\创建文件夹测试")

 

os.rmdir:删除文件夹

import os
os.rmdir("d:\\测试文件\\创建文件夹测试")

 

os.cpu.count:cpu核心参数

import os
print(os.cpu_count())
#结果:4

os.path模块

os.path.exists:路径或者文件是否存在(返回True或False)

import os
print(os.path.exists("d:\\测试文件"))
#结果:True

os.path.isfile:是否为文件(返回True或False)

import os
print(os.path.isfile("d:\\测试文件\\01.txt"))
#结果:True

os.path.isdir:是否为路径(返回True或False)

import os
print(os.path.isdir("d:\\什么文件"))
#结果:False

os.path.split:分割最后一部分和前面路径

import os
print(os.path.split("d:\\测试文件\\测试文件2\\01.txt"))
#结果:('d:\\测试文件\\测试文件2', '01.txt')

os.path.join:将多个部分组合成一个路径

import os
path = os.path.join("d:", "one", "two", "tree.txt")

os.path.abspath:绝对路径,abspath(os.curdir)

import os
print(os.path.abspath("d:\\测试文件\\创建文件夹测试"))
#结果:d:\测试文件\创建文件夹测试

os.path.dirname:当前路径的父路径

import os
print(os.path.dirname("d:\\测试文件\\创建文件夹测试"))
#结果:d:\测试文件

__file__:获取当前文件

import os
print(os.path.dirname(__file__))

总结

Open.Json.pickle.Os是python开发过程中比较核心的内容。我们在学习过程中应当更加注意!

制作不易,多多点赞收藏支持哦!♥

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

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

相关文章

【网络工具】Charles 介绍及环境配置

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/iAmAo 📚专栏简介:在这个专栏中,我将会整理一些工作或学习中用到的工具介绍给大家~ 📘Charles 系列其它文章:【网络…

Git操纵本地仓库和远程仓库

git是一个代码托管的平台,我们可以对我们的代码进行分支 推送提交 打标签等等操作,而且git使用过程中也是支持一些linux语言的 比如cd呀 touch mkdir啊等等等 git的具体安装过程就不再赘述 我个人认为 好多东西就是 代码也好 文字 文档 也好&…

【C语言】结构体,枚举,联合超详解!!!

目录 结构体 结构体声明 结构体成员的访问 结构体自引用 结构体变量定义,初始化,传参 结构体内存对齐 位段 枚举 联合(共用体) 结构体 结构体声明 1. 概念 1. 结构体是一些值的集合,这些值称为成员变量。 2. 结构体的每个成员可…

长难句打卡7.15

The trend was naturally most obvious in those areas of science based especially on a mathematical or laboratory training, and can be illustrated in terms of the development of geology in the United Kingdom 这一趋势自然在以数学或实验室训练为基础的科学领域里…

Unlink

Unlink 原理 我们在利用 unlink 所造成的漏洞时,其实就是对 chunk 进行内存布局,然后借助 unlink 操作来达成修改指针的效果。简单回顾一下 unlink 的目的与过程,其目的是把一个双向链表中的空闲块拿出来(例如 free 时和目前物理…

Leetcode二分搜索法浅析

文章目录 1.二分搜索法1.1什么是二分搜索法?1.2解法思路 1.二分搜索法 题目原文: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返…

从PyTorch官方的一篇教程说开去(1 - 初心)

原文在此,喜欢读原汁原味的可以自行去跟,这是一个非常经典和有学习意义的例子,在此向老爷子们致敬 - https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html 开源文化好是好,但是“公地的悲哀”这点避不开…

每天一个数据分析题(四百三十七)- 统计量

若x1、x2、x3取自某总体的样本,当期望a已知,方差c未知时,则以下不是统计量的是 A. x1x2x3 B. min{x1,x2,x3} C. a(x1x2)/2 D. (x1x2x3)/c 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击…

用c语言实现一个alexnet

在C语言中实现一个完整的AlexNet神经网络是一个复杂的任务,涉及大量的矩阵运算和卷积操作。这个示例代码将涵盖AlexNet的主要组件,包括卷积层、ReLU激活函数、池化层和全连接层。 由于C语言本身没有像Python的NumPy那样的矩阵库,我们需要自己编写矩阵运算函数。另外,C语言…

高效运维:构建全面监控与自动化管理体系

在当今的数字化时代,运维管理已成为企业IT架构中不可或缺的一环。它不仅关乎系统的稳定运行,更直接影响到业务的响应速度、故障处理时间以及客户满意度等多个方面。因此,构建一套全面监控与自动化管理体系,对于提升企业运维效率、…

无人机之多旋翼与固定翼的区别

多旋翼无人机和固定翼无人机是无人机技术中的两种主要形式,各自有独特的优势和应用场景。 一、飞行原理与结构 多旋翼无人机:依靠多个旋翼产生升力来平衡飞行器的重力,通过改变每个旋翼的转速控制飞行器的姿态和平稳,使其能够垂…

C++ //练习 15.22 对于你在上一题中选择的类,为其添加合适的虚函数及公有成员和受保护的成员。

C Primer(第5版) 练习 15.22 练习 15.22 对于你在上一题中选择的类,为其添加合适的虚函数及公有成员和受保护的成员。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 class Shape {public:S…

PDF文件无法编辑?3步快速移除PDF编辑限制

正常来说,我们通过编辑器打开pdf文件后,就可以进行编辑了。如果遇到了打开pdf却不能编辑的情况,那有可能是因为密码或是扫描件的原因。小编整理了一些pdf文件无法编辑,以及pdf文件无法编辑时我们要如何处理的方法。下面就随小编一起来…

[word] word如何编写公式? #微信#知识分享

word如何编写公式? word如何编写公式?Word中数学公式是经常会使用到的,若是要在文档中录入一些复杂的公式,要怎么做呢?接下来小编就来给大家讲一讲具体操作,一起看过来吧! 方法一:…

stm32学习:(寄存器3)系统架构

时钟系统 时钟树 在STM32中有3种不同的时钟源用来驱动系统时钟(SYSCLK): HSI振荡器时钟(High Speed Internal oscillator,高速内部时钟)HSE振荡器时钟(High Speed External(Oscillator / Clock&#xff…

Ruby爬虫技术:深度解析Zhihu网页结构

在互联网时代,数据的价值日益凸显,尤其是在社交媒体和问答平台如Zhihu(知乎)上,用户生成的内容蕴含着丰富的信息和洞察。本文将深入探讨如何使用Ruby爬虫技术来解析Zhihu的网页结构,并获取有价值的数据。 …

linux service小例

linux service 测试 1.创建一个app // myapp.c // 间隔10s写入时间到文件 #include <stdio.h> #include <time.h> #include <unistd.h> // 引入unix标准函数定义&#xff0c;如sleep()int main() {FILE *fp;time_t now;char buffer[80];// 打开文件以追加模…

啊?原来你也看环法赛!—VELO Angel Glide坐垫,与你共攀环法荣耀之路!

当七月的热浪席卷赛道&#xff0c;环法自行车赛&#xff08;Tour de France&#xff09;的战鼓再次响起&#xff0c;挑战与梦想交织的火花在每一寸赛道上绽放。自1903年首届赛事以来&#xff0c;环法已成为全球最具声望的自行车赛事&#xff0c;吸引着无数顶尖骑手和观众的目光…

c语言程序环境和预处理

test.c(源文件) --> 编译器 --> test.obj(目标文件,在debug里) 链接库和多个目标文件 经过 链接器的处理&#xff0c;最终生成可执行程序.exe 编译阶段 预处理/预编译阶段 &#xff1a;1.头文件的包含 2.define定义符号的替换&#xff0c;并删除定义的符号 3.删除注释 这…

医学影像归档与通讯系统源码,C#PACS源码,涵盖放射、超声、内镜、病理、核医学

医学影像归档与通讯系统&#xff08;PACS&#xff09;系统&#xff0c;是一套适用于从单一影像设备到放射科室、到全院级别等各种应用规模的医学影像归档与通讯系统。PACS集患者登记、图像采集、存档与调阅、报告与打印、查询、统计、刻录等功能为一体&#xff0c;有效地实现了…