当前位置: 首页> 游戏> 评测 > 浅谈Open.Json.pickle.Os

浅谈Open.Json.pickle.Os

时间:2025/7/13 18:01:27来源:https://blog.csdn.net/dudnf/article/details/140530745 浏览次数:2次

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

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

关键字:浅谈Open.Json.pickle.Os

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: