当前位置: 首页 > 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.jsqmd.com/news/939192/

相关文章:

  • 告警准确率从61%跃升至98.7%:基于LSTM-Attention双模态异常检测的工业级落地实践
  • ArcGIS Pro 3.0 下 Linkage Mapper 报错全攻略:从‘No module named lm_config’到‘Circuitscape failed’的20+个坑我都帮你踩了
  • Nvidia cuDNN 面试准备
  • 徐珊新歌《六月的简历和情书》上线:用2086年的嗓音,唱哭2026年的每一个你
  • 什么是CDN?小学生也能听懂的网络加速魔法
  • Cursor 插件,才是 AI 编程的真正终局
  • 别再傻傻分不清了!用Python实战案例帮你彻底搞懂准确率、召回率和精确度
  • ripgrep 15.1.0 官方版下载(夸克网盘+百度网盘,SHA256校验)
  • 113.手写Linux刷机自动化工具|适配小米一加,自动检设备、防翻车、批量刷分区
  • 量子模拟技术解析:非简谐振荡器的VQE实现
  • 别再手动调参了!盘点10个开箱即用的相机标定工具(含OpenCV/Kalibr/Matlab保姆级对比)
  • 深度实战:Python爬取今日头条关键词搜索结果的完整指南(Ajax接口与signature签名破解)爬取今日头条关键词搜索结果o 技术点:Ajax接口、signature签名破解(进阶)
  • AnywhereVLA框架:语言驱动的机器人移动操作系统
  • AI时代下,Java程序员还要看源码吗?
  • 为什么很多硬件工程师工作10年,能力却只增长了2年?
  • Transformer模型在表格数据合成中的性能优化与实践
  • PyTorch轴承故障识别实战包:含CWRU一维振动数据、LSTM/1D-CNN模型权重与训练可视化图表
  • 3分钟掌握Topit:macOS窗口置顶的终极解决方案
  • LinkSwift:八大网盘直链解析神器,告别限速烦恼
  • 从SVD到RANSAC:点云平面拟合的数学原理与Python代码逐行解析(避坑参数设置)
  • 基于I2C与Arduino的模块化街机按钮控制器设计与实现
  • defer性能陷阱:我是如何解决内存逃逸问题的
  • 在线 UML 制图神器:用例图、时序图、流程图一键生成非常好用
  • WzComparerR2 终极指南:冒险岛WZ文件提取器的完整使用教程
  • 终极B站广告跳过工具:小电视空降助手完整使用指南
  • Translumo:Windows平台实时屏幕翻译工具完全指南
  • 06-02 · LLM 最新论文速览
  • 如何构建面向企业研发协作的规范化设计走查表与设计还原度优化设计系统与视觉资产库流程
  • 有哪些真正好用且不贵的 AI 写作软件?100 小时深度体验后我来交作业了
  • 5分钟搞定RabbitMQ!Docker一键安装 + 核心概念图解