首页 > 其他分享 >浅谈Open.Json.pickle.Os

浅谈Open.Json.pickle.Os

时间:2024-07-20 16:54:37浏览次数:9  
标签:Os 文件 浅谈 os file import print path pickle

一、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 os

print(os.curdir)
#结果:.

os.pardir:上级路径

import os

print(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开发过程中比较核心的内容。我们在学习过程中应当更加注意!

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

标签:Os,文件,浅谈,os,file,import,print,path,pickle
From: https://blog.csdn.net/dudnf/article/details/140530745

相关文章

  • win系统 python 安装 osgeo库安装(最简单)
    Python osgeo库安装用法介绍安装使用osgeo库,本质是安装gdal一、下载对应python版本压缩包下载地址在结尾二、解压压缩包在解压之后的文件夹当中,找到这两个文件夹三、复制文件夹到python安装目录当中如python环境文件夹路径为D:\Local\Programs\miniconda3\envs\py31......
  • UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xb5‘ in position
    报错UnicodeEncodeError是由于文件写入过程中编码格式不匹配导致的。为了避免这种问题,可以显式指定使用UTF-8编码来写入文件。以下是修改后的代码,确保在写入HTML文件时使用UTF-8编码:importnumpyasnpimportpandasaspdfromsklearn.datasetsimportload_iri......
  • IS论文分享More Than a Bot? The Impact of Disclosing Human Involvement on Custome
    《MoreThanaBot?TheImpactofDisclosingHumanInvolvementonCustomerInteractionswithHybridServiceAgents》,作者是UlrichGnewuch、StefanMorana、OliverHinz、RalfKellner和AlexanderMaedche。文章发表在《InformationSystemsResearch》期刊上,并于2023......
  • [CP_AUTOSAR]_通信服务_CanTp模块(二)
    目录3、功能规范3.1、提供给上层的服务3.1.1、Initializationandshutdown3.1.2、Transmitrequest3.1.3、Transmitcancellation3.2、提供给下层的服务3.2.1、Transmitconfirmation3.2.2、Receptionindication3.3、内部行为3.3.1、N-SDU接收  在前面《[CP......
  • Nacos原理和应用
    文章目录Nacos安装与启动快速入门服务分级存储模型环境隔离Nacos原理Nacos安装与启动首先安装Nacos服务,Windows安装地址:https://github.com/alibaba/nacos/releases之后进入bin目录,使用命令行输入:startup.cmd-mstandalone此时出现下图就代表启动成功默......
  • 最强AI语音克隆和文本配音工具!与真人无异,CosyVoice下载介绍
    CosyVoice是一个大规模预训练语言模型,深度融合文本理解和语音生成的一项新型语音合成技术,能够精准解析并诠释各类文本内容,将其转化为宛如真人般的自然语音CosyVoice采用了总共超15万小时的数据训练,依托先进的大模型技术进行特征提取,从而完成声音的复刻,用户无需训练过程,仅需提供时......
  • 掌握Python中的文件序列化:Json和Pickle模块解析
    Python文件操作与管理:Open函数、Json与Pickle、Os模块在Python中,文件是一个重要的数据处理对象。无论是读取数据、保存数据还是进行数据处理,文件操作都是Python编程中不可或缺的一部分。本文将详细介绍Python中文件操作的几种常用方法,包括open函数的使用、数据序列化与反......
  • ios CCUIDevice.m
    ////CCUIDevice.h//CCFC////#import<Foundation/Foundation.h>#import"CCConfig.h"#import<mach/mach.h>//判断设备是480*320还是960*640#defineIS_RETINA\([UIScreeninstancesRespondToSelector:@selector(currentMode)]?......
  • PyTorch 中 loss.grad_fn 解释
    在PyTorch中,loss.grad_fn属性是用来访问与loss张量相关联的梯度函数的。这个属性主要出现在使用自动微分(automaticdifferentiation)时,特别是在构建和训练神经网络的过程中。当你构建一个计算图(computationalgraph)时,PyTorch会跟踪所有参与计算的操作(比如加法、乘法、激活函数等),......
  • 详解Nacos集群搭建
    目录前言1.集群结构图 2.搭建集群2.1初始化数据库 2.2下载nacos 2.3配置Nacos2.4启动2.5nginx反向代理2.6优化前言在我们日常的开发当中,用的都是单点Nacos,这种模式,我们自己开发测试玩一玩还可以,但是到了企业的生产环境之下,你还这么玩的话,那肯定是要出......