# !/usr/bin/env python
# -*- coding:utf8 -*-
# from lib import account
# url = input("请模拟输入 url 页面: ")
#
# if url.endswith("login"):
# r = account.login()
# print(r)
#
# elif url.endswith("logout"):
# r = account.logout()
# print(r)
#
# elif url.endswith("nb"):
# r = account.nb()
# print(r)
#
# else:
# print("404")
# 当account中含有很多的函数体时,当前的主程序 index.py ,就要写很多的elif 条件来判断。
# 而通过“反射”, 根据用户的输入是什么,再去account中调用相应的函数才比较合适
# from lib import account
#
# input_info = input("请模拟输入相应的url: ")
#
# url = input_info.split("/")[-1]
# if hasattr(account, url):
# target_func = getattr(account, url)
# r = target_func()
# print(r)
#
# else:
# print("404")
"""
上述一个不好的地方是,所有的函数需要都写到单一的模块account中,
但是通常情况下,每个函数是有分类的。
不同种类的模块,包含不同的函数
"""
'''
对上述主程序继续优化
要求用户输入: 模块名/函数名(account/login)
'''
modul_url = input("请输入url:(模块名/函数名)")
target_module, target_func = modul_url.split("/")
# 获取导入的模块
module = __import__("lib." + target_module, fromlist=True)
if hasattr(module, target_func):
result = getattr(module, target_func)
ret = result()
print(ret)
else:
print("404")