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、第二個參數是以誰為相對路徑(哪個誰就是第二個參數)
