【问题标题】:Python reload can't workPython重新加载无法正常工作
【发布时间】:2015-10-12 10:00:28
【问题描述】:

我的代码是这样的:

from test.service.settle import query_result

...
reload(query_result) 
from test.service.settle import query_result
rs = query_result(city)

这对我不起作用。

'query_result()' 是 set.py 中的一个函数,'query_result()' 有一些变化。我希望代码可以通过新的更改工作,而无需在云服务器上重新启动我的项目。谁能帮我解决这个问题。

【问题讨论】:

  • 您需要重新加载模块,而不是函数 - from test.service import settle,然后是 reload(settle) 并尝试 settle.query_result(...)
  • 还是不行。我的原始代码就像from test.service.setlle import * ,在settle.py中有很多函数,我使用其中一个,比如rs = query_result(city)。我修改了我的settle。 py 根据您的回答,但如果不重新启动我在云服务器上的项目,它就无法工作。
  • 那么让这里的教训是:不要使用通配符导入。

标签: python reload


【解决方案1】:

你应该:

import test.service.setlle as tss
print tss
from tss import query_result 
query_result(city)
...

#modify query_result
reload(tss)
from tss import query_result
query_result(city)

【讨论】:

  • 那仍然无法工作。我的原始代码就像from test.service.setlle import * ,在settle.py 中有很多功能,我使用其中一个,例如rs = query_result(city)。我修改了我的解决方案。 py 根据您的回答,但如果不重新启动我在云服务器上的项目,它就无法工作。
  • 遵循整个过程!!!并将 from test.service.setlle import * 替换为 from tss import *
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-23
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多