反射 __import__
__import__
根据字符串导入模块
def run():
inp = input('请输入URL:')
m,p = inp.split('/')
obj = __import__(m)
if hasattr(obj,p):
fun = getattr(obj,p)
fun()
else:
print(404)
if __name__ == '__main__':
run()
4反射
利用字符串的形式去对象(模块 )操作成员
操作 :
getattr(modu,str)
hasattr(modu,str)
setattr(modu,str)
delattr(modu,str)
导入模块
import xxx
from xxx import oooo
obj = __import__('xxx')
obj = __import__('xx.oo.xx',fromlist=True)
不同路径的时候
if hasattr(commons,inp):
getattr
func = getarrt(commons,inp)
func()
else:
print(404)
__name__--执行当前文件时,当前文件的特殊变量__name__ =="__main__"
__doc__ --获取文件的注释
__cached__----字节码路径
__package__ ==== 当前的文件包执行谁以谁为主,
__file__----获取当前pyc所在的路径
os.path.abspath(__file__) 获取绝对路径
os.path.dirname() ---获取上级目录
os.path.join ---系统路径的拼接
vars()----查看模块里有哪些变量
res = sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
print(res)
sys ---python解释器相关的
sys.argv()
sys.
\r 重新回到当前行的位置
进度条
def view_bar(num,total):
rate =num / total
rate_num = int(rate * 100)
r = '\r %s%d%% ' % ('='* num,rate_num,)
sys.stdout.write(rate)
os ----系统相关的
os.stat('path/filename') --获取文件/目录信息
加密模块
hashlib
obj = hashlib.md5(bytes('自定义str',encoding='utf-8))
obj.update(bytes('123',encoding='utf-8'))
result = obj.hexdigest()
print(result)
import hashlib
obj = hashlib.md5(bytes('liushubao',encoding='utf-8'))
obj.update(bytes('123456789',encoding='utf-8'))
result = obj.hexdigest()
print(result)
正则表达式
import RE
re.findall('规则','str')
. 统配符 0
* 0 多个
+ 1 个
? 0 个 1 个
{自定义匹配的范围}
[ ] 里面字符集 匹配里面的一个
[^ ] 非的意思
[\] ---- 反斜杠后面跟元字符去除特殊功能
反斜杠后面跟符去除特殊功能
正则分组:
去已经提取到的数据中在提取
反射 __import__的更多相关文章
- Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)
一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻 ...
- (转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)
原文:http://www.cnblogs.com/xiaozhiqi/p/5778856.html https://blog.csdn.net/zong596568821xp/article/det ...
- Python全栈--9 __import__ 反射和面向对象基础 self 封装 继承(多继承的顺序) 多态
一.反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删 ...
- python中反射(__import__和getattr使用)
反射: 1.可通过字符串的形式导入模块 1.1.单层导入 __import__('模块名') 1.2.多层导入 __import__(' list.text.commons',fromlist=Tru ...
- Python(六)面向对象、异常处理、反射、单例模式
本章内容: 创建类和对象 面向对象三大特性(封装.继承.多态) 类的成员(字段.方法.属性) 类成员的修饰符(公有.私有) 类的特殊成员 isinstance(obj, cls) & issu ...
- python 反射
python 反射的核心本质其实就是利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动! 反射的四个基本函数使用 hasattr,getattr,setatt ...
- python中的反射
在绝大多数语言中,都有反射机制的存在.从作用上来讲,反射是为了增加程序的动态描述能力.通俗一些,就是可以让用户参与代码执行的决定权.在程序编写的时候,我们会写很多类,类中又有自己的函数,对象等等.这些 ...
- python反射问题
python中的__import__是以字符串的形式反射导入模块并以字符串的形式执行函数
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
随机推荐
- 利用jemalloc优化mysql
一.下载安装jemalloc #wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2 #tar jxvf jem ...
- Xamarin.Android 应用程序配置
* 在 Xamarin 中 Android 清单文件的内容一般不通过手动编辑,而是由编译器根据 项目属性设置 和 一系列 特性类 自动生成 1. 应用程序在android启动器中显示的名称设置: 主活 ...
- DotNetBar grid筛选 按时间筛选
PatientDiaryPanel.Columns["RECORDDATE"].FilterExpr = string.Format("date(RECORDDATE) ...
- 小技巧,关于OC打印指针地址和arc下的retaincount
CFGetRetainCount((__bridge CFTypeRef)self : 打印retainCount 打印指针的地址(不是指针指向对象的地址):NSLog(@"aStr指针内 ...
- django--一对多,多对多查询
假设有表的关系如下: class Classes(models.Model): name = models.CharField(max_length=32) institute = models.Ch ...
- css中很有用的属性
有些css属性很实用,但不常用也就被忘记. 这里纪录了自己在项目中用过的一些. html,body{ -webkit-tap-highlight-color:transparent; } 这个的用途是 ...
- openfire 用户密码加密解密
1.openfire采用的加密方法 Blowfish.java /** * $RCSfile$ * $Revision: 3657 $ * $Date: 2002-09-09 08:31:31 -07 ...
- [原创]如何在Parcelable中使用泛型
[原创]如何在Parcelable中使用泛型 实体类在实现Parcelable接口时,除了要实现它的几个方法之外,还另外要定义一个静态常量CREATOR,如下例所示: public static cl ...
- ui-grid
html代码: <html ng-app="myApp"> <head> <meta charset="utf- ...
- 继续Django
环境准备 1. 创建一个Django后,Django的目录: │ manage.py │ ├─Django_s1 │ settings.py │ urls.py │ wsgi.py │ __in ...