python基础学习1-反射
#!/usr/bin/env python
# -*- coding:utf-8 -*- getattr(),hasattr(),delattr(),setattr()
#反射:基于字符串的形式去对象(模块)中操作其成员 import commons
inp = input("请输入需要进入的页面方法")
if hasattr(commons,inp):#检查commons中是否有对应名称的操作成员
func=getattr(commons,inp) #反射 通过getattr在commons中查找名称为变量inp的操作成员
func()#执行找到的成员
else:
print("不存在输入的模块") #动态导入模块和寻找模块中的方法
ips=input("请输入需要进入的模块和页面方法")#以 commons/Login 形式输入模块和方法名
m,f=ips.split('/')
obj= __import__(m)#动态导入模块
if hasattr(obj,f):#验证当前导入模块中是否有指定方法名的方法
func1=getattr(obj,f)
func1() else:
print("不存在输入页面或模块") #动态导入模块和寻找模块中的方法 导入模块在文件夹中情况
ips=input("请输入需要进入的模块和页面方法")#以 commons/account 形式输入模块和方法名
m,f=ips.split('/')
obj= __import__("lib."+m,fromlist=True)#动态导入模块
if hasattr(obj,f):#验证当前导入模块中是否有指定方法名的方法
func1=getattr(obj,f)
func1() else:
print("不存在输入页面或模块")
commons.py
#!/usr/bin/env python
# -*- coding:utf-8 -*- def Login():
print("进入登陆界面") def Home():
print("进入主界面") def LogOut():
print("登陆出程序")
lib文件夹下 account.py
#!/usr/bin/env python
# -*- coding:utf-8 -*- def test():
print("测试test方法")
python基础学习1-反射的更多相关文章
- python基础学习笔记——反射
对编程语言比较熟悉的朋友,应该知道“反射”这个机制.Python作为一门动态语言,当然不会缺少这一重要功能.然而,在网络上却很少见到有详细或者深刻的剖析论文.下面结合一个web路由的实例来阐述pyth ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- python基础学习(起步)
目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
- Python基础学习一
Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
随机推荐
- Prometheus Node_exporter metrics 之 Basic CPU / Mem / Disk Info
Basic CPU / Mem / Disk Info 1. CPU Cores 物理 CPU 的核数 cat /proc/cpuinfo| grep "cpu cores"| u ...
- ASP.NET Core 系列[1]:ASP.NET Core 初识
ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...
- InputStream转换为String, byte[] data = new byte[1024]详解
/** * This file created at 2018年2月28日. * * Copyright (c) 2002-2018 Bingosoft, Inc. All rights reserv ...
- 有序字典(OrderedDict)、默认字典(defaultdict)内置函数
http://www.cnblogs.com/wupeiqi/articles/5115190.html import collections do = collections.OrderedDict ...
- 【Excel】SUMIF的错位问题
具体情况是这样的: 如图,我们需要求得“一车间”的“发生额总计”,所以我们选择使用SUMIF函数 如果是这样填写函数参数的话,那你的计算结果就会有问题 就会出现下图这样的情况,“发生额总计”为34.8 ...
- zabbix日常监控(监控缓存)
实现的方法大体类似: 多谢博主的文章,免了不少时间! 摘抄博文地址:https://www.cnblogs.com/sixiweb/p/6893858.html https://www.cnblogs ...
- September 22nd 2017 Week 38th Friday
If we believe that tomorrow will be better, we can bear a hardship today. 如果我们相信明天会更好,今天就能承受艰辛. If y ...
- VMware下 CentOS 连接外网问题(笔记)
虚拟机连接外网有三种模式.桥接.Nat.Host-Only.三者的区别,详见 实例讲解虚拟机3种网络模式(桥接.nat.Host-only) 使用虚拟机连接外网时,一定要充分考虑本地的网络环境!!! ...
- 个人作业2:APP案例分析--腾讯动漫
第一部分 调研,评测 个人第一次上手体验 以往看漫画就是在浏览器直接搜索在网页上看,直到用了腾讯动漫APP,我才摒弃这个很low的方法.腾讯动漫直接用qq就可以登陆,有更齐全的漫画分类,更清晰的画质, ...
- nginx alias
A path to the file is constructed by merely adding a URI to the value of the root directive. If a UR ...