python中schedule模块的简单使用 || importlib.import_module动态导入模块
2024-09-02 05:58:58
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、第二个参数是以谁为相对路径(哪个谁就是第二个参数)
最新文章
- 1Z0-053 争议题目解析692
- Struts2 Interceptor学习
- Redhat使用CentOS的Yum 网络源
- js 十分精确身份证验证
- nginx 配置虚拟主机
- C++程序在debug模式下遇到Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call问题。
- Mule ESB-Content-Based Routing Tutorial(2)
- 【问题解决】java中为什么不建议使用DataInputStream 的readLine()方法
- 《Java技术》第三次作业
- spring注解开发AnnotationConfigApplicationContext的使用
- Hillstone设备管理-许可证安装
- C++ 函数模板的返回类型如何确定?
- Macos mysql 8.0.11 添加配置文件
- The required Server component failed to start so Tomcat is unable to start问题解决
- 一维maxpooling
- eclipse 创建一个java项目 运行
- php.ini中safe_mode开启之后对于PHP系统函数的影响
- linux(centos7) 安装nginx
- jquery.qrcode生成二维码支持中文
- Linux 内核参数 和 Oracle相关参数调整