1.使用os和os.path以及函数的递归完成:
给出一个路径,遍历当前路径所有的文件及文件夹
打印输出所有的文件(遇到文件输出路径,遇到文件夹继续进文件夹)
python
import os
def file(path):
for item in os.listdir(path):
item_path = os.path.join(path,item)
if os.path.isfile(item_path):
print(item_path)
elif os.path.isdir(item_path):
file(item_path)
file("C:\\Users\Z\Desktop\python\code")
2.使用加密模块及IO模拟登录功能,要求使用文件模拟数据库存储用户名和密码。
python
import hashlib as h
def encryption(str):
salt = "@@@"
res = h.md5(str.encode("utf-8"))
res.update(salt.encode("utf-8"))
return res.hexdigest()
username_database = encryption("zhangsan")
password_database = encryption("1234")
f = open("./database.txt","w+")
f.write("用户名:zhangsan\n")
f.write("密码:1234")
f.close()
def login(username,password):
if encryption(username) == username_database and encryption(password) == password_database:
print("登录成功")
else:
print("登录失败")
username = input("请输入用户名:")
password = input(("请输入密码:"))
login(username,password)
3.使用面向对象编程完成学生信息录入功能,数据存储在本地文件txt中,并读取学生信息并按照成绩进行排序,学生其他属性自行规划
python
class Student:
def __init__(self,number,name,score):
self.number = number
self.name = name
self.score = score
def __str__(self):
return f"number:{self.number},name:{self.name},score:{self.score}"
class StudentManage:
def __init__(self):
self.students = []
def add_student(self,number,name,score):
student = Student(number,name,score)
self.students.append(student)
def sort_score(self):
self.students.sort(key=lambda x : -x.score)
def test_txt(self,filename):
with open(filename,"a+",encoding="utf-8") as f:
for student in self.students:
f.write(f"{student}\n")
def main(self):
while True:
running = int(input("请选择要进行的操作:1.录入 2.退出"))
if running == 1:
number = input("请输入学生学号:")
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
self.add_student(number, name, score)
else:
break
self.sort_score()
self.test_txt("student_info.txt")
if __name__ == "__main__":
res = StudentManage()
res.main()