Python学习笔记--8.Python持久化存储文件操作、os模块、json模块、异常处理(基础部分笔记补充)

本文介绍了Python中的文件操作,包括文件的打开、写入和关闭,强调了文件操作完成后必须关闭文件的重要性。还详细讲解了os模块,展示了如何获取系统环境变量、文件路径和目录操作。同时,解释了json模块在数据交换中的作用,以及如何在Python和JSON之间进行转换。异常处理机制部分,解释了什么是异常、异常处理的关键字以及如何触发和处理异常。最后补充了将Python数据导出为.xlsx格式的方法。
摘要由CSDN通过智能技术生成

Python学习笔记--8.Python持久化存储文件操作、os模块、json模块、异常处理(基础部分笔记补充)


前言

如果我们运行一个程序的结果如果不加操作的话,默认数据是加载到内存中,程序结束、所有数据释放。
试想一个程序在经历九牛二虎之力计算出了结果却不能把结果存放起来,显然是不可取的。
这时候我们可以选择把程序存放到文件当中。


一、文件操作

将数据存放到文件当中主要分为三部分:一把文件打开;二把数据放进去;三关闭文件。

python中打开我呢见使用open函数,
注:此时若文件不存在则自动创建、若文件存在则覆盖原文件,然后写入数据。

f = open('hello.txt', 'w') # 'w' 表示打开写权限,默认只读
f.write('hello westos')
f.close()

在这里插入图片描述
注意:文件操作完成后必须关闭文件!!否则会占用内存。

file对象的常用方法:
在这里插入图片描述

查看文件操作

f = open('hello.txt')
print(f.readlines())
f.close()

在这里插入图片描述

with open用法会将我们打开操作后的函数自动关闭,

with open('hello.txt', 'w') as f:
    f.write('linux')

在这里插入图片描述
文件的打开方式:
在这里插入图片描述
读取二进制文件,比如图片、视频等等,用’rb’, ‘wb’, 'ab’等模式打开文件即可。


二、os模块

os模块可跨平台处理操作系统相关的功能。诸如查看系统相关信息等。

print(os.environ)  #查看系统环境变量
print(os.environ.get('PATH')) # 通过key值获取环境变量对应的value值

在这里插入图片描述
获取当前文件的绝对路径目录名

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

在这里插入图片描述
获取当前文件的绝对路径目录名+文件名

basedir = os.path.dirname(__file__)
setting_name = os.path.join(basedir, 'config.conf')
print(setting_name)
filename = '/Users/84052/PycharmProjects/pythonProject2/Day03/config.conf'
print(os.path.basename(filename))
print(os.path.dirname(filename))

在这里插入图片描述
绝对路径+后缀名+文件名

filename = '/Users/84052/PycharmProjects/pythonProject2/Day03/config.conf'
print(os.path.splitext(filename)) # 将文件后缀名与绝对路径分开
print(os.path.split(filename)) # 将文件名与绝对路径分开

在这里插入图片描述


三、json模块

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。

这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

python类型数据和JSON数据格式互换规则
在这里插入图片描述
注意:python中的集合不能转成json格式。

python转为json:

json.dumps() 	转换格式时使用
json.dump()		写入文件时使用
users = {'name':'westos', 'age':18, 'city':"xi'an"}
json_str = json.dumps(users)
print(json_str)

在这里插入图片描述
将python转为json并导入文件

import json
users = {'name':'westos', 'age':18, 'city':"xi'an"}
json_str = json.dumps(users) # 将python字典转为json格式
print(json_str)
with open('hello.json', 'w') as f:
    json.dump(users, f, indent=4)  #将users写入文件f:hello.json 缩进=4
    print('success')

在这里插入图片描述
将json转为python

loads		转换格式时使用
load		导入文件时使用

四、异常处理机制

什么是异常

Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止。

Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。
常见异常:
IndentationError: 缩进错误
KeyboardInterrupt: Ctrl+C被按下
UnboundLocalError : 有同名的全局变量

异常处理机制

Python 的异常机制主要依赖 try 、except 、else、finally 和 raise 五个关键字。

try 关键字后缩进的代码块简称 try 块,它里面放置的是可能引发异常的代码;
except 关键字对应异常类型和处理该异常的代码块;
多个 except 块之后可以放一个 else 块,表明程序不出现异常时还要执行 else 块;
finally 块用于回收在 try 块里打开的物理资源,异常机制会保证 finally 块总被执行
raise 用于引发一个实际的异常**,raise 可以单独作为语句使用,引发一个具体的异常对象**。

在这里插入图片描述

简单结构展示:

import os
import platform

try:
    uname = os.uname()
except Exception: #except后可选择异常种类,这里时表示全部异常
    uname = platform.uname()
finally: #总是执行的操作
    print(uname)
    

在这里插入图片描述

触发异常

Python 允许程序自行引发异常,自行引发异常使用 raise 语句来完成。

raise [Exception [, args [, traceback]]]

raise语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,
args 是自已提供的异常参数。


笔记补充

将python导到.xlsx格式

terminal ---->

pip install pandas
pip install openpyxl
import pandas

hosts =[
    {'id':1, 'ip':'172.25.0.1', 'name':'server1'},
    {'id':2, 'ip':'172.25.0.2', 'name':'server2'},
    {'id':3, 'ip':'172.25.0.3', 'name':'server3'},
    {'id':4, 'ip':'172.25.0.4', 'name':'server4'},
]
df = pandas.DataFrame(hosts) #使用pandas模块将字典转为DataFrame格式
print(df)
df.to_excel('hosts.xlsx') #导出格式为xlsx
print('success')

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值