我有一個api.py,定義了一個類,有登錄、查詢兩個函式,需要先登錄才能查詢,采用requests.Session()保存登錄狀態。偽代碼如下:
"""api.py"""
import requests
class Api:
_session = requests.Session()
def login():
_session.post(...)
def query():
_session.post(...)
定義一個公共模塊shared.py,在里面將類實體化。偽代碼如下:
"""shared.py"""
import api
instance = api.Api()
另外有module1.py、module2.py兩個檔案,在module1.py中登錄,在module2.py中查詢。偽代碼如下:
"""module1.py"""
import shared
shared.instance.login()
"""module2.py"""
import shared
shared.instance.query()
我先執行module1.py,后執行module2.py。module2執行時會發現處于未登錄狀態。也就是說在module1和module2中,shared.instance并不是同一個物件,導致requests.Session()也不是同一個session。
我的問題是,如何創建一個全域類物件,使得兩個不同的module中可以訪問到相同的物件?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274226.html
上一篇:求分心駕駛資料集
