1.open函数使用
在Python中,
open()
函数用于打开文件,并返回一个文件对象,可以用于读取或写入文件。
f = open("./44.函数的参数.py", mode='r', encoding="utf8") # 是否可读 #print(f.readable(), f.writable()) # 读取整个文件 返回字符串 content = f.read() print(content, type(content)) #读取一行 返回字符串 line = f.readline() print(line, type(line)) # 以字符串的形式读取所有行 并且将结果放入列表 lines = f.readlines() print(lines)
2.Json与pickle
要了解json与pickle首先需要了解两个概念序列化与非序列化,序列化就是将python数据结构转换为字符串。反序列化就是将字符串转换为python数据结构方便解析。
使用标准库中的 json
模块来处理JSON数据,可以将Python数据结构(字典、列表等)转换为JSON格式的字符串,也可以将JSON格式的字符串解析为Python数据结构。
import json
datas = {
"user": [
{"id": 10, "un": "admin", "pwd": "123456"}
],
"student": [],
"v": None
}
str 函数转换None时效果不好
datas_str = str(datas)
dumps 可以将None序列化为null 所有编程语言都识别
datas_str = json.dumps(datas)
with open("./data.txt", "w") as f:
f.write(datas_str)
直接将obj序列化到文件
with open("./data.txt", "w") as f:
json.dump(datas, f)
with open("./data.txt", "r") as f:
content = f.read()
# print(content, type(content))
datas = json.loads(content)
# print(datas, type(datas))
first_user = datas["user"][0]
print(first_user.get("un"), first_user.get("pwd"))
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"))
pickle是Python特有的序列化模块,它可以将Python对象序列化为字节流,并能在需要时将字节流反序列化为Python对象。
import pickle
data = {
"id": 101,
"name": "马云",
"address": ["北京", "杭州", "上海"]
}
data_bytes = pickle.dumps(data)
with open("data2.txt", "wb") as f:
f.write(data_bytes)
with open("data2.txt", "wb") as f:
pickle.dump(data, f)
with open("./data2.txt", "rb") as f:
content = f.read()
data = pickle.loads(content)
print(data, type(data), data["address"][2])
with open("./data2.txt", "rb") as f:
data = pickle.load(f)
print(data, type(data), data["address"][2])
3.Os模块
标签:函数,os,附加,模块,print,path,txt,data,datas From: https://blog.csdn.net/2301_78270736/article/details/140617791
os
模块是Python中一个非常常用的标准库模块,它提供了许多与操作系统交互的功能。主要用途包括文件和目录操作、进程管理、环境变量操作。import os print(os) print(os.curdir)#当前路径 print(os.pardir)#上级路径 print(os.listdir("f:\\Program"))#当前路径下文件信息 os.mkdir("f:\\Program\\2407")#创建文件夹 os.rmdir("f:\\Program\\2407")#删除文件夹 print(os.cpu_count())#cpu核心数 print(os.path.exists("f:\\Program\\hello.txt"))#路径或者文件是否存在 print(os.path.isfile("f:\\Program\\hello.txt"))#是否为文件 print(os.path.isdir("f:\\Program"))#是否为路径 print(os.path.split("f:\\Program\\ab\\bc\\hi.txt"))#分割最后一部分和前面路径 path = os.path.join("f:", "Program", "ab", "bc")#将多个部分组合成一个路径 print(os.path.abspath(path))#绝对路径 print(os.path.dirname(path))#当前路径的父路径路径名 print(os.path.dirname(__file__), os.path.abspath(os.curdir))#获取当前文件