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