python中schedule模块的简单使用 || importlib.import_module动态导入模块
1 import schedule
2 import time
3
4 def start(): #定义一个函数
5 print("****")
6
7
8 if __name__ == '__main__':
9 schedule.every(2).seconds.do(start) #它的意思就是每隔2秒执行一次start函数
10 while True: #这里就是定义一个死循环
11 schedule.run_pending() //每次检查一下两秒间隔到了没有
12 time.sleep(1) //这个就是让程序休眠几秒
除了可以间隔多少秒执行一次函数,还可以间隔多少分钟、小时
1、间隔两小时
schedule.every(2).hours.do()
2、间隔两分钟
schedule.every(2).minutes.do()
importlib.import_module动态导入模块
先看目录结构
项目xiang1里面有一个python包为a。a包里面有一个python文件aa.py和一个包b。b包里面有一个python文件bb.py和一个包c。c包里面有一个python文件cc.py
前提条件:
aa.py,bb.py,cc.py三个文件里面都有一个同样的类
class People(object): def __init__(self,age,name='嘿嘿'):
self.age=age
self.name=name
1、把aa.py中People类导入到cc.py
import importlib module = importlib.import_module('a.aa')
classes = getattr(module,'People')
peo = classes(1) print(peo.__dict__)
输出结果
{'age': 1, 'name': '嘿嘿'}
注释:
importlib.import_module这个方法是导入一个模块,有两种导入方式
1、绝对路径导入
2、相对路径导入(相对路径的例子在下面)
这种导入方式用的是绝对路径导入,绝对路径只能包括包名或者python文件名。所以没有写成“xiang1.a.aa”而写成了“a.aa”
getattr函数要传两个参数,一个是你要从哪个模块里面导入哪个内容。(这两个哪个,就分别对应它的两个参数)
2、把bb.py中People类导入到cc.py
import importlib module = importlib.import_module('a.b.bb')
classes = getattr(module,'People')
peo = classes(1) print(peo.__dict__)
'''
输出结果:
{'age': 1, 'name': '嘿嘿'}
'''
3、把bb.py中People类导入到aa.py
import importlib module = importlib.import_module('.b.bb','a')
classes = getattr(module,'People')
peo = classes(1)
输出结果还是上面那个
注释:
这个就用到的是相对路径导入,这个时候你的路径名就是以 ‘./’ 来开头的。而且要传两个参数
1、第一个参数是相对路径
2、第二个参数是以谁为相对路径(哪个谁就是第二个参数)
python中schedule模块的简单使用 || importlib.import_module动态导入模块的更多相关文章
- 动态导入模块:__import__、importlib、动态导入的使用场景
相关内容: __import__ importlib 动态导入的使用场景 首发时间:2018-02-23 16:06 __import__: 功能: 是一个函数,可以在需要的时候动态导入模块 使用: ...
- Python 实现抽象类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)
实现抽象类的两种方式 方式一 from abc import ABCMeta from abc import abstractmethod class BaseMessage(metaclass=AB ...
- Python importlib(动态导入模块)
使用 Python importlib(动态导入模块) 可以将字符串型的模块名导入 示例: import importlib module = 'module name' # 字符串型模块名 test ...
- python学习之-- 动态导入模块
python 动态导入模块方法1: __import__ 说明: 1. 函数功能用于动态的导入模块,主要用于反射或者延迟加载模块. 2. __import__(module)相当于import mod ...
- python动态导入模块——importlib
当在写代码时,我们希望能够根据传入的选项设置,如args.model来确定要导入使用的是哪个model.py文件,而不是一股脑地导入 这种时候就需要用上python的动态导入模块 比如此时文件结构为: ...
- Python中关于csv的简单操作
Python中关于csv的简单操作 CSV操作简单,直接import csv即可, 主要使用reader和pandas 1 reader的简单使用 csv.reader("1.csv&quo ...
- Python中关于txt的简单读写模式与操作
Python中关于txt的简单读写操作 常用的集中读写模式: 1.r 打开只读文件,该文件必须存在. 2.r+ 打开可读写的文件,该文件必须存在. 3.w 打开只写文件,若文件存在则文件长度清为0,即 ...
- python中动态导入模块
当导入的模块不存在时,就会报ImportError错误,为了避免这种错误可以备选其他的模块或者希望优先使用某个模块或包,可以使用try...except...导入模块或包的方式. 例如: Python ...
- Python 动态导入模块
动态导入模块 目录结构: zhangsandeMacBook-Air:1110 zhangsan$ tree . . ├── lib │ └── aa.py ├── test1.py lib目录下 ...
随机推荐
- 【MySQL】MySQL知识图谱
MySQL 文章目录 MySQL 表 锁 索引 连接管理 事务 日志系统 简单记录 极客时间 - MySQL实战45讲 MySQL知识图谱 表 表 引擎选择 编码问题 表空间管理 字段设计 备份和恢复 ...
- postgresql插件安装
postgresql安装包自带插件安装: 1.编译安装插件 # root用户 # postgresql安装过程省略 # 进入解压包的contrib目录 cd postgresql-10.6/contr ...
- Git 创建新分支检查分支
创建分支和切换分支,也可以称为检出分支 创建新分支 git branch branchName 切换到新分支 git checkout branchName 上面两个命令也可以合成为一个命令: git ...
- 转 15 jmeter分布式性能测试
15 jmeter分布式性能测试 背景由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误.要解决这个问题, ...
- Simple decorator that intercepts connection errors and ignores these if settings specify this.
django-redis/cache.py at master · jazzband/django-redis https://github.com/jazzband/django-redis/blo ...
- Profile Guided Optimization Link Time Optimization
https://github.com/python/cpython Profile Guided Optimization PGO takes advantage of recent versions ...
- is_callable Callbacks / Callables What is a “callable”? 可调用 回调函数
PHP: Callback / Callable 类型 - Manual https://www.php.net/manual/zh/language.types.callable.php Callb ...
- LOJ1036
AHOI 2008 聚会 Y 岛风景美丽宜人,气候温和,物产丰富.Y 岛上有 N 个城市,有 N-1 条城市间的道路连接着它们.每一条道路都连接某两个城市.幸运的是,小可可通过这些道路可以走遍 Y 岛 ...
- Spring听课笔记(tg)
0. 地址:https://www.bilibili.com/video/av21335209 1.综述,Spring主要的复习要点集中在以下几点 -- Spring的整体结构,Maven依赖(环境搭 ...
- Windows搭建TestLink环境
环境准备: 搭建php5.4.39+apache2.2+mysq5.5.28l环境 (可参考http://www.cnblogs.com/yangxia-test/p/4414161.html) (注 ...