重新加载自制模块

2024-04-24 12:17:12 发布

您现在位置:Python中文网/ 问答频道 /正文

Files:

File 1: metrobot.py
File 2: irc.py
File 3: cmd.py

你知道吗MetroBot.py公司开始irc.py公司, irc.py公司生成while循环,然后使用命令.py. 我尝试从中重新加载cmd模块irc.py公司. 在我重新加载之后命令.py仍然不会生效。你知道吗

重新加载代码段:

if ":!reload" in self.buf:
  reload(sys.modules['cmd'])

我也试过了

reload(cmd)

两个都不管用。你知道吗

有人知道是什么原因导致重新加载不起作用,还是另一种简单的方法?此脚本应始终运行。你知道吗


Tags: 模块py命令cmdif代码段irc公司
1条回答
网友
1楼 · 发布于 2024-04-24 12:17:12

我创建了以下三个小脚本来测试这一点,并且可以正常工作:

你知道吗bot.py公司地址:

import irc

def start():
  irc.run()

你知道吗irc.py公司地址:

import cmd, time

def run():
  while 1:
    print cmd.dothis()
    reload(cmd)
    time.sleep(1)

你知道吗命令.py地址:

def dothis():
  return 1

现在如果你跑机器人启动()它将每秒打印一次“1”,然后如果我编辑命令.py在某种程度上说return 2它打印“2”。。很明显,我认为这比你所用的任何代码都简单,但是你需要发布一些示例来帮助我们更好地回答你。或者试着分解代码,用精简版本的代码测试重新加载。你知道吗

相关问题 更多 >