当前位置: 首页 > news >正文

IO练习题

1.使用os和os.path以及函数的递归完成:
给出一个路径,遍历当前路径所有的文件及文件夹

import os

def scan_dir(path):

for item in os.listdir(path):

full_path = os.path.join(path, item)

if os.path.isdir(full_path):

scan_dir(full_path)

else:

print(full_path)

if __name__ == '__main__':

target_path = r"./"

scan_dir(target_path)

打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)
2.使用加密模块及IO模拟登录功能,要求使用文件模拟数据库存储用户名和密码。

import hashlib

# 加密函数:md5加密明文密码

def pwd_md5(pwd):

md5 = hashlib.md5()

md5.update(pwd.encode("utf-8"))

return md5.hexdigest()

def register(username, password):

md5_pwd = pwd_md5(password)

with open("user.txt", "a", encoding="utf-8") as f:

f.write(f"{username}|{md5_pwd}\n")

print("注册成功")

def login(username, password):

md5_pwd = pwd_md5(password)

try:

with open("user.txt", "r", encoding="utf-8") as f:

for line in f:

line = line.strip()

if not line:

continue

name, pwd = line.split("|")

if name == username and pwd == md5_pwd:

return True

return False

except FileNotFoundError:

print("用户库不存在,请先注册!")

return False

if __name__ == '__main__':

while True:

opt = input("1-注册 2-登录 0-退出:")

if opt == "1":

un = input("用户名:")

pw = input("密码:")

register(un, pw)

elif opt == "2":

un = input("用户名:")

pw = input("密码:")

if login(un, pw):

print("登录成功!")

else:

print("用户名或密码错误!")

elif opt == "0":

break

http://www.zskr.cn/news/1450595.html

相关文章:

  • AI赋能少儿英语,开心口袋“AI说AI读”小程序正式上线
  • MATLAB版自适应步长RK4求解器:带误差控制的ODE数值计算工具
  • 对比深圳十几家定制,终于找到闭口不加价的 ENF 工厂|木点点整装实测 - 产品测评官
  • 终极指南:如何在OpenWRT路由器上快速搭建iStore软件中心
  • 2026年AI编程工具推荐榜单:五大主流工具深度评测
  • 什么是CDN?小学生也能听懂的网络加速魔法
  • Cursor 插件,才是 AI 编程的真正终局
  • 第十一章 降维 案例:沪深300指数成分股收益率的主成分分析
  • 别再傻傻分不清了!用Python实战案例帮你彻底搞懂准确率、召回率和精确度
  • 量子模拟技术解析:非简谐振荡器的VQE实现
  • 从 LangGraph 到小说 Agent Runtime:用 flashNovel 实现章节级工作流、上下文记忆与人工确认
  • 在线 UML 制图神器:用例图、时序图、流程图一键生成非常好用
  • Translumo:Windows平台实时屏幕翻译工具完全指南
  • 06-02 · LLM 最新论文速览
  • 如何构建面向企业研发协作的规范化设计走查表与设计还原度优化设计系统与视觉资产库流程
  • 如何重新掌控你的数字记忆:WeChatMsg让聊天记录成为你的个人数字资产
  • 抖音无水印视频批量下载工具深度解析与实战指南
  • 惠州市阿特拉斯的空压机代理多少钱? - myqiye
  • Esper——核心概念
  • Ubuntu20系统启动失败别慌!手把手教你用U盘‘试用模式’无损修复(保留/home和软件)
  • 基于Arduino与555定时器的智能钢琴:超声波触发自动演奏系统设计
  • 2026如何挑选真正实用的材料进销存管理系统?
  • CS Demo Manager:从游戏回放到战术洞察的专业分析工具
  • 推荐靠谱的彩钢复合板品牌,鹏晨新材如何? - myqiye
  • 告别‘只读’烦恼:保姆级教程教你用macFUSE+ntfs-3g挂载移动硬盘到指定文件夹
  • 保姆级教程 | Codex 接入 DeepSeek V4,亲测有效
  • 选用 NativeWebView 必须从 Avalonia11 升级 Avalonia12
  • 如何用Python自动化脚本轻松抢到心仪演唱会门票:大麦网抢票终极指南
  • Ubuntu 20.04 下遇到 ‘System has not been booted with systemd‘ 报错?别慌,这可能是你的 WSL 或 Docker 环境在捣鬼
  • Veo 2提示词失效真相大揭秘:底层token映射机制拆解+动态权重调优公式(附Python校验脚本)