我想做的是,我有一个简单的python程序,它打印我现在按下,所以我正在做的是彻底的pynput模块,如果它不可用,请从互联网上下载。但当我下载它时,我需要重新启动代码才能正常工作。
这是代码:-
import os
def download_it():
try:
os.system('pip3 install pynput')
from pynput.keyboard import Key, Listener
except:
download_it() #this will rerun the code it there is not internet connection or some failure happen
try:
from pynput.keyboard import Key, Listener
except:
download_it()
def on_press(key):
print(key)
with Listener(on_press=on_press) as listener:
listener.join()
有没有什么方法可以让我不需要重新启动代码来让它工作。
我相信您的答案在importlib模块中。
请注意,在import_module:中
如果您正在动态导入自解释器开始执行以来创建的模块(例如,创建Python源文件(,则可能需要调用invalidate_caches((,以便导入系统注意到新模块。