反射 __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 ...
随机推荐
- 隐藏ASP.NET站点的HTTP Headers
站点的Headers里面会暴露一些服务器的环境,例如IIS版本.语言的环境等 有时候我们不想让用户了解这类信息那么可以这样做: 1.修改web.config 在 <system.webServe ...
- Apache增加Basic Auth
在.htaccess文件中增加 AuthUserFile /var/www/htpasswd/test.htpasswd AuthName EnterPassword AuthType Basic r ...
- MXNET手写体识别的例子
安装完MXNet之后,运行了官网的手写体识别的例子,这个相当于深度学习的Hello world了吧.. http://mxnet.io/tutorials/python/mnist.html 运行的过 ...
- android studio 2.0 GPU Debugger使用说明
GPU Debugger GPU Debugging Tools The GPU debugging tools are an experimental feature intended to hel ...
- web app 自适应方案总结 关键字 弹性布局之rem
关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...
- .net资源链接
http://aspalliance.com/ http://www.hotscripts.com/ http://www.dotnet247.com http://stackoverflow.com ...
- CodeIgniter 下引入ORM Doctrine
做了两年的CI开发,一直使用activeRecord来操作数据库.简单,轻巧加方便.最近一个项目交给手下去做,也是采用从数据库设计入手的开发流程,现在已经上线运行.经历了理清需求,设计数据库,在CI中 ...
- SQL CURSOR
SET NOCOUNT ON; DECLARE @vendor_id int, @vendor_name nvarchar(50), @message varchar(80), @produc ...
- 试解析Tomcat运行原理(一)--- socket通讯
关于这篇文章也确实筹划了很久,今天决定开篇写第一篇,说起tomcat首先很容易联想到IIS,因为我最开始使用的就是.net技术,我第一次使用asp写学生成绩管理系统后,很茫然如何让别人都能看到或者说使 ...
- Oracle的DML语言必备基础知识
前提是咱们都已经对常用的数据操纵语言非常熟悉了,对标准SQL: SELECT子句 --指定查询结果集的列 DROM子句 --指定查询来 ...