简单的订单系统,使用的os目录

 一:主要是是os模板练习案例。

import os
import datetime
import timeDB_PATH = 'db'def history(user_path):if not os.path.exists(user_path):print('无历史记录')returnwith open(user_path, mode='r', encoding='utf-8') as f:for line in f:line = line.strip()print(line)def booking(user_path):while True:location = input('请输入景区,或者输入q/Q,退出订票:')if location.upper().strip() == "Q":breakbook_num = input('输入订几张:')ctime_string = datetime.datetime.now().strftime('%Y-%m-%d-%H:%M:%S')book_string = '{},{},{}\n'.format(location, book_num, ctime_string)with open(user_path, mode='a', encoding='utf-8') as f:f.write(book_string)def run():if not os.path.exists(DB_PATH):os.makedirs(DB_PATH)# 2.user_name = input('请输入用户名:')user_path = os.path.join(DB_PATH, '{}.txt'.format(user_name))if os.path.exists(user_path):print('{}用户已经存在'.format(user_name))else:print('{}用户是新用户'.format(user_name))# 3.func_dict = {'1': history, '2': booking}while True:print('1:是查看历史订单,2:预定')choice = input('请选择功能,或者退出q/Q:')if choice.upper().strip() == 'Q':returnfunc = func_dict.get(choice.strip())if not func:print('序号输入错误')continuefunc(user_path)run()

 二:账号注册

import os
import sys
import hashlib
import json
import datetimeDATA_FILE = "user_info.txt"
SALT_STR = "dgd5"def md5(*args):salt_str, user_pwd = argshashlib_md5 = hashlib.md5(salt_str.encode('utf-8'))hashlib_md5.update(user_pwd.encode('utf-8'))pwd_str = hashlib_md5.hexdigest()return pwd_strdef run():while True:flag = 0user_name = input('请输入注册的用户:')if os.path.isfile(DATA_FILE):with open(DATA_FILE, mode='r', encoding='utf-8') as file:for line in file:if user_name in line:print('这个{}用户已经被注册,请重新注册其它账号'.format(user_name))flag = 1breakif flag:continueuser_pwd = input('请输入用户的密码:')user_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')pwd_str = md5(SALT_STR, user_pwd)with open(DATA_FILE, mode='a', encoding='utf-8') as file:mesg = "{},{},{}".format(user_name.strip(), pwd_str.strip(), user_time.strip())file.write(mesg)file.write('\n')run()

三:时间有限,后面会补充os目录其它功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学习 - MyBatis - 初识MyBatis

前言 什么是持久化 持久化是将程序数据在持久状态和瞬时状态间转换的机制,将数据保存到可永久保存的存储设备中。最常见的就是将内存中的对象存储在数据库中,或者存在磁盘文件、XML 数据文件中等等。其中,文件 IO 属于持久化机制&#xff0…

【实战JVM】-实战篇-06-GC调优

文章目录 1 GC调优概述1.1 调优指标1.1.1 吞吐量1.1.2 延迟1.1.3 内存使用量 2 GC调优方法2.1 发现问题2.1.1 jstat工具2.1.2 visualvm插件2.1.3 PrometheusGrafana2.1.4 GC Viewer2.1.5 GCeasy 2.2 常见GC模式2.2.1 正常情况2.2.2 缓存对象过多2.2.3 内存泄漏2.2.4 持续FullGC…

kotlin 音频播放,多音轨同时播放,音频播放期间,可以随时设置播放速度

在Android中,SoundPool 主要用于播放短小的音频片段,如游戏音效,并且它并不直接支持设置播放速度(播放速率)。SoundPool 的 play 方法允许你调整播放的优先级和循环次数,但并不能直接调整播放速度。 然而&…

SpringBoot个人网盘系统-计算机毕业设计源码92922

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势或改善自身的缺点,互联网的发展文件管理带来了福音。个人网盘系统是以实际运用为开发背景,运用软件工程原理和…

MySQL入门学习-聚合和分组.最小值(MIN()函数)

一、聚合和分组的概念 1. 聚合函数 在 MySQL 中,聚合函数可以对多行数据进行计算,并返回一个单一的结果。常见的聚合函数包括 SUM()(求和)、AVG()(平均值)、MIN()(最小值)和 MAX()…

设计高并发电商系统:每秒10000次请求的挑战与投资

设计一个能支持每秒10000次请求的电商系统是一项复杂且挑战重重的任务。本文将从技术挑战、系统架构设计、必要的技术栈、运营和维护、以及投资估算五个方面深入探讨这个问题。 一、技术挑战 1. 高并发和高可用性 在设计高并发系统时,首先需要考虑的是系统的高可…

python类动态属性,以属性方式访问字典

动态属性能够用来描述变化的类,在实际应用中容易遇到用到。 import logging class Sample:def __init__(self):self.timeNoneself.sampleidNoneself.massNoneself.beizhu""self.num0self.items{}#字典属性def __getattribute__(self, attr): #注意&#…

SSRF 漏洞实践:端口扫描与任意文件读取

服务器端请求伪造(SSRF)是一种隐蔽且危险的安全漏洞,它允许攻击者欺骗服务器向其他服务器发送请求,从而访问或控制未经授权的系统。本文将通过实践案例,介绍 SSRF 漏洞在端口扫描和任意文件读取方面的应用,…

⌈ 传知代码 ⌋ 【CLIP】文本也能和图像配对

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Github 2024-06-10 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-06-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目2Go项目2PHP项目1Blade项目1TypeScript项目1Lua项目1Dart项目1Swift项目1Cuda项目1Python项目1MDX项目1Ventoy: 100%开源的可启动USB解决方…

超越出身与学府:揭秘成功者共有的七大特质

在当今多元化的世界里,个人成功的故事如同繁星点点,照亮了无数追梦者的前行之路。新东方创始人俞敏洪先生曾深刻地指出,真正的成功并不取决于家庭背景的显赫与否,也不在于就读大学的名气大小,而是深深植根于个人内在的…

VMware Workstation虚拟机固定IP配置(主机互通、外网可访问)

VMware Workstation虚拟机固定IP配置 环境问题配置过程配置虚拟机网络适配器配置虚拟机网络配置虚拟网卡网络适配器配置虚拟机固定IP 结果验证结束语参考 环境 主机:Windows 11 VMware Workstation: 17.5.2 虚拟机:Ubuntu 24.02 LTS 注: 主…

DeepSpeed Huggingface模型的自动Tensor并行

推理阶段。在后台,1. DeepSpeed会把运行高性能kernel(kernel injection),加快推理速度,这些对用户是透明的; 2. DeepSpeed会根据mp_size来将模型放置在多个GPU卡上,自动模型并行; import os import torch …

设计一套完整的余额充值系统

余额充值系统在现代电子商务平台和应用程序中扮演着重要角色。它不仅提供了用户便捷的充值和支付方式,还能通过合理的赠送和退款规则提高用户满意度和粘性。本文将详细探讨如何设计一套包括充值赠送、退款、赠送金额和充值金额使用规则的完整余额充值系统。 2. 余额…

【数据结构】前缀树(字典树)汇总

基础 {“a”,“abc”,“bac”,“bbc”,“ca” }的字典树如下图: 最主用的应用:一,字符串编码。二,位运算。 字符串编码 相比利用哈希映射编码,优点如下: 依次查询长度为n的字符串s的前缀时间复杂度是O(…

iCloud完全指南:释放Apple云服务的终极潜力

iCloud是苹果公司提供的云服务,它允许用户存储和同步照片、文档、音乐、应用数据以及更多类型的文件。通过有效利用iCloud,用户可以在不同设备间无缝地访问和编辑内容。本文旨在全面介绍如何高效使用iCloud,确保您能够最大化这一服务的价值。…

common.js和es6中模块引入的区别

common.js CommonJS 是一种模块系统,主要用于 Node.js 环境。它使用 require 函数来引入模块,并使用 module.exports 来导出模块。 语法: 导出模块: // moduleA.js const name Jo; module.exports name;// 或者导出一个对象…

⌈ 传知代码 ⌋ 多模态COGMEN详解

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

【Vue】智慧商城

步骤一般都是: 静态结构 > 封装接口 > 路由获取参数 > 获取数据 动态渲染 先封装接口再路由获取参数的原因是因为,只有先封装好了接口,才能知道我们需要哪些参数 接口文档:https://apifox.com/apidoc/shared-12ab6b18-a…

Java——IO流(一)-(2/9):File类的常用方法(判断文件类型、获取文件信息、创建删除文件、遍历文件夹)

目录 常用方法1:判断文件类型、获取文件信息 方法 实例演示 常用方法2:创建文件、删除文件 方法 实例演示 常用方法3:遍历文件夹 方法 实例演示 常用方法1:判断文件类型、获取文件信息 方法 File提供的判断文件类型、获…