当前位置: 首页 > 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.cnnetsun.cn/news/2718045.html

相关文章:

  • 微调数据对齐搞不定?多 Agent 协同才是出路
  • 【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need ReAct
  • 3分钟学会使用vscode-plantuml:让UML图表设计变得如此简单
  • 告别环境配置烦恼:用PHPStudy+VSCode搭建PHP调试环境(含XDebug避坑指南)
  • ESP32步进电机无线控制:从硬件连接到Web服务器全解析
  • 海尔智能家居设备无缝接入HomeAssistant:终极完整指南
  • 集成学习投票实战:用RandomForest、XGBoost等6个模型,在合成数据集上验证软投票为何总比硬投票强?
  • 保姆级避坑指南:在Linux服务器上用MobaXterm搞定CCPD车牌数据集到YOLOv5的完整转换流程
  • LabelImg图像标注工具:三分钟快速上手终极指南
  • Obsidian插件翻译革命:3步让英文插件秒变中文
  • Perseus:碧蓝航线脚本补丁如何实现无偏移量游戏修改?
  • 告别下载后不运行:STM32CubeIDE搭配DAP-Link的完整配置与复位难题解决
  • Ultimate Vocal Remover完整指南:AI音频分离工具快速上手教程
  • 文档搜索响应时间缩短94%的秘密:RAG+元数据图谱+权限感知引擎三合一实战部署
  • 智能家居 Zigbee 协议在高并发传感数据时的丢包率实测
  • AI驱动的数据仓库升级路径(2024企业级落地白皮书)
  • RAG 闭环:基于 DeepEval 的测试结果,反向优化切词策略与 Prompt
  • Giskard 框架初探:另一款值得关注的开源 AI 质量保障平台
  • 115网盘在Kodi中实现原码播放的终极解决方案
  • Mistral AI 峰会:从模型公司到全栈 AI 供应商,欧洲 AI 打出差异化牌!
  • 连接器工厂主要分布在哪几个产区?天下工厂产业研究院梳理全国版图
  • MATLAB R2019b实现的三相并网逆变器PI闭环控制仿真(含SVPWM驱动与参数可调)
  • 打破音乐枷锁:3分钟掌握开源音频解密核心技术
  • 终极免费MP4视频修复指南:用Untrunc拯救你的珍贵回忆
  • 基于ESP32与OV2640的嵌入式相机DIY全流程实战指南
  • 千问 LeetCode 2949. 统计美丽子字符串 II Go实现
  • 千问 LeetCode 2953. 统计完全子字符串 Java实现
  • Havenlon 的共同治理哲学:Owner 不应该天然拥有最终执行权
  • 从质检到金融风控:假设检验的7个真实业务场景拆解(含Python/R代码片段)
  • 如何快速掌握通达信金融数据:mootdx新手的完整入门指南