针对python刷新/重新加载和python刷新这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展IPythonnotebook:如何重新加载特定Python文件中的所有模块?、IPython
针对python刷新/重新加载和python 刷新这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展IPython notebook:如何重新加载特定Python文件中的所有模块?、IPython中模块的自动重新加载、python wsgiref自动重新加载、python – POST没有重新加载整个网页等相关知识,希望可以帮助到你。
本文目录一览:- python刷新/重新加载(python 刷新)
- IPython notebook:如何重新加载特定Python文件中的所有模块?
- IPython中模块的自动重新加载
- python wsgiref自动重新加载
- python – POST没有重新加载整个网页
python刷新/重新加载(python 刷新)
这是一个非常基本的问题-但我无法通过在线搜索找到答案。
我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。
但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。
我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路径的文件夹(使用sys.append(’path’)),我想知道这是否有所作为。
在此先感谢您,并感谢您草率的用语。
答案1
小编典典不清楚“刷新”是什么意思,但是Python的正常行为是您需要重新启动软件才能使其在Python模块上具有新的外观并重新读取。
如果即使重新启动后您的更改也无法解决,则归因于以下两个错误之一:
- pyc文件上的时间戳是不正确的,并且在将来的某个时间。
- 您实际上在编辑错误的文件。
使用reload,即使不使用reload()命令重新启动软件,也可以重新读取文件。请注意,指向模块中任何内容的任何变量都需要在重新加载后重新导入。像这样:
import themodulefrom themodule import AClassreload(themodule)from themodule import AClass
IPython notebook:如何重新加载特定Python文件中的所有模块?
目前我的工作流程是:
>修改myFile
>重启Ipython内核
>重新运行Ipython中的所有代码.
有谁知道是否有办法重新加载myFile中的所有模块而无需重启Ipython内核?谢谢!
解决方法
In [1]: %load_ext autoreload In [2]: %autoreload 2 In [3]: from foo import some_function In [4]: some_function() Out[4]: 42 In [5]: # open foo.py in an editor and change some_function to return 43 In [6]: some_function() Out[6]: 43
您还可以通过执行以下操作将自动重新加载配置为自动执行:
ipython个人资料创建
并将以下内容添加到〜/ .config / ipython / profile_default / ipython_config.py中
c.InteractiveShellApp.extensions = ['autoreload'] c.InteractiveShellApp.exec_lines = ['%autoreload 2'] c.InteractiveShellApp.exec_lines.append('print("Warning: disable autoreload in ipython_config.py to improve performance.")')
注意:如果重命名函数,则需要重新运行import语句
IPython中模块的自动重新加载
有没有办法让 IPython 自动重新加载所有更改的代码?在每行在 shell 中执行之前或在特别要求时失败。我正在使用 IPython 和 SciPy
进行大量探索性编程,每当我更改每个模块时都必须手动重新加载它是一件很痛苦的事情。
答案1
小编典典对于 IPython 版本 3.1、4.x 和 5.x
%load_ext autoreload%autoreload 2
然后您的模块将默认 自动重新加载 。这是文档:
File: ...my/python/path/lib/python2.7/site-packages/IPython/extensions/autoreload.pyDocstring:``autoreload`` is an IPython extension that reloads modulesautomatically before executing the line of code typed.This makes for example the following workflow possible:.. sourcecode:: ipython In [1]: %load_ext autoreload In [2]: %autoreload 2 In [3]: from foo import some_function In [4]: some_function() Out[4]: 42 In [5]: # open foo.py in an editor and change some_function to return 43 In [6]: some_function() Out[6]: 43The module was reloaded without reloading it explicitly, and theobject imported with ``from foo import ...`` was also updated.
有一个窍门:当你在使用时 忘记 了以上所有内容ipython
,只需尝试:
import autoreload?autoreload# Then you get all the above
python wsgiref自动重新加载
您可以使用 nodemon 在您更改文件时自动重新加载 python 文件:
示例:
nodemon main.py
python – POST没有重新加载整个网页
s=requests.Session() s.post(link,data=payload)
为了正确地执行此操作,有效负载是来自页面本身的id,并且在每次访问页面时生成.
所以我需要POST而不重新加载整个网页,这样我就可以获得正确的ID.
解决方法
如果是,我建议您创建一个接收此POST的Ajax视图,并使用javascript作为Ajax从页面发送有效负载.
这种方式成功后,您可以在该视图的响应中获得正确的id,而无需重新加载页面.
关于python刷新/重新加载和python 刷新的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于IPython notebook:如何重新加载特定Python文件中的所有模块?、IPython中模块的自动重新加载、python wsgiref自动重新加载、python – POST没有重新加载整个网页等相关内容,可以在本站寻找。
本文标签: