__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__的更多相关文章

  1. Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

    一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻 ...

  2. (转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

    原文:http://www.cnblogs.com/xiaozhiqi/p/5778856.html https://blog.csdn.net/zong596568821xp/article/det ...

  3. Python全栈--9 __import__ 反射和面向对象基础 self 封装 继承(多继承的顺序) 多态

    一.反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删 ...

  4. python中反射(__import__和getattr使用)

    反射: 1.可通过字符串的形式导入模块 1.1.单层导入 __import__('模块名') 1.2.多层导入 __import__(' list.text.commons',fromlist=Tru ...

  5. Python(六)面向对象、异常处理、反射、单例模式

    本章内容: 创建类和对象 面向对象三大特性(封装.继承.多态) 类的成员(字段.方法.属性) 类成员的修饰符(公有.私有) 类的特殊成员 isinstance(obj, cls) & issu ...

  6. python 反射

    python 反射的核心本质其实就是利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动! 反射的四个基本函数使用 hasattr,getattr,setatt ...

  7. python中的反射

    在绝大多数语言中,都有反射机制的存在.从作用上来讲,反射是为了增加程序的动态描述能力.通俗一些,就是可以让用户参与代码执行的决定权.在程序编写的时候,我们会写很多类,类中又有自己的函数,对象等等.这些 ...

  8. python反射问题

    python中的__import__是以字符串的形式反射导入模块并以字符串的形式执行函数

  9. Python模块之常用模块,反射以及正则表达式

    常用模块  1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...

随机推荐

  1. Objc Block

    ref1 一.__block 的使用 说明: 在 block 内只能读取在同一个作用域的变数而且没有办法修改在 block 外定义的任何变数,此时若我们想要这些变数能够在 block 中被修改,就必须 ...

  2. ORM系列之二:EF(3) 数据库连接

    目录 1.前言 2.Code First默认连接 3.Code First指定数据库 4.自定义连接 前言 在介绍EF的Code First模式时候,我们没有修改任何配置,运行之后自动在LocalDb ...

  3. 软件测试基础homework3

    //本次的作业为/******************************************************* * Finds and prints n prime integers ...

  4. iOS10 导航条,这个二狗子变了...踩坑

    1.iOS10导航透明要转换一个透明image UIImage *image = IsDeviceVersionIOS10 ? [WeUtils imageWithColor:[UIColor cle ...

  5. VS工程添加资源文件

    1. 添加资源文件: 2. 资源文件内写相应代码: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006 ...

  6. C#写入日志信息到文件中

    为了在服务器上运行程序及时的跟踪出错的地方,可以在必要的地方加入写日志的程序. string folder = string.Format(@"D:\\{0}\\{1}", Dat ...

  7. error in config file "/etc/rabbitmq/rabbitmq.config"

    记录一次RabbitMQ配置文件配置错误 error信息: dill@ubuntu-vm:/usr/share/doc/rabbitmq-server$ sudo /usr/lib/rabbitmq/ ...

  8. Leetcode: Android Unlock Patterns

    Given an Android 3x3 key ≤ m ≤ n ≤ , count the total number of unlock patterns of the Android lock s ...

  9. oracle同一个数据库实例不同的用户之间的表、序列授权操作

    1.背景:用户jtuser中有jtproduct中表A,B的同义词,在用户jtuser中向表A,B插入数据,提示“权限不够” 2.将A,B表授权给jtuser用户 $ sqlplus / as sys ...

  10. Android驱动开发前的准备

    最近看了一些Android驱动开发前需要知道的资料,收获很多,接下来就谈谈我自己的一些心得体会. Android在近几年时间发展迅速,已经成为智能手机操作系统的老大.不过,因为Android原生的代码 ...