持久化保存: 文件
- 文件系统:将数据以文件的形式存储在磁盘上,如文本文件、二进制文件等。
- 数据库:如关系型数据库(如 MySQL、Oracle 等)和非关系型数据库(如 MongoDB、Redis 等),可以高效地管理和存储大量数据。
- 序列化与反序列化:将对象序列化为字节流或特定格式的数据,以便保存和恢复,如使用 Python 的pickle模块。
- 云存储:利用云服务提供商提供的存储服务,如对象存储等。
非持久化保存
from dis import show_code
def register():username = input('username')passward =input('passward')repassword = input('input confirm password')if passward == repassword:with open(r'register.txt','a') as wstream:wstream.write('{} {}\n'.format(username,passward))print('user register successfully')else:print('two input password not same')
def login():username = input('username')passward = input('passward')if username and passward:with open(r'register.txt') as rstream:while True:user = rstream.readline()if not user:print('user input error')breakinput_user = '{}{}\n'.format(username,passward)if user == input_user:print('user successfully login')break
def show_books():print(' \t library have this book \t')with open(r'register.txt','r') as rstream:books = rstream.readlines()for book in books:print(book,end=' ')
异常处理
格式:try可能存在异常的代码,一旦有return后面的代码都不会执行except:如果有异常将会执行的代码,可以有多个,同时也可以跟异常类型finally:无论错误与否都会执行的代码,即便前面是否有return都会执行except:要放到最下面except Exception as err:其中err表示错误的原因在 Python 中,`finally`子句主要有以下用法:finally用法:1. **无论是否发生异常,都会执行**:在`try-except`语句中,`finally`子句中的代码无论在`try`块中是否发生异常,都会被执行。2. **用于清理资源**:可以在`finally`子句中放置一些清理资源的代码,如关闭文件、释放锁等。
- 使用
try-except
语句**:将可能引发异常的代码放在try
块中,当异常发生时,执行相应的except
块中的代码。 - 捕获特定异常**:可以指定捕获具体的异常类型,以便进行针对性的处理。
- 使用
finally
子句**:在try-except
语句后可以添加finally
子句,其中的代码无论是否发生异常都会执行。
class CustomException(Exception):def __init__(self, message):self.message = message
使用自定义异常
try:raise CustomException("这是自定义异常信息")
except CustomException as e:print(e.message)def register1():username = input('用户名')passward = input('密码:')if len(username) < 6 or len(passward) <6:raise Exception('密码以及用户名要六位以上')else:print('输入的用户名是:{}密码是:{}',username,passward)
try:register1()
except Exception as err:print(err)print('注册失败')
else:print('ok')
python中常用os模块
- os.getcwd():获取当前工作目录的路径。
- os.chdir(path):改变当前工作目录到指定的路径。
- os.listdir(path):列出指定路径下的所有文件和子目录。
- os.mkdir(path):创建一个新的目录。
- os.makedirs(path):递归地创建多层目录。
- os.remove(path):删除指定的文件。
- os.rmdir(path):删除一个空目录。
- os.rename(src, dst):重命名文件或目录。
- os.system(command):执行系统命令。