GVKun编程网logo

python刷新/重新加载(python 刷新)

13

针对python刷新/重新加载和python刷新这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展IPythonnotebook:如何重新加载特定Python文件中的所有模块?、IPython

针对python刷新/重新加载python 刷新这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展IPython notebook:如何重新加载特定Python文件中的所有模块?、IPython中模块的自动重新加载、python wsgiref自动重新加载、python – POST没有重新加载整个网页等相关知识,希望可以帮助到你。

本文目录一览:

python刷新/重新加载(python 刷新)

python刷新/重新加载(python 刷新)

这是一个非常基本的问题-但我无法通过在线搜索找到答案。

我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。

但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。

我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路径的文件夹(使用sys.append(’path’)),我想知道这是否有所作为。

在此先感谢您,并感谢您草率的用语。

答案1

小编典典

不清楚“刷新”是什么意思,但是Python的正常行为是您需要重新启动软件才能使其在Python模块上具有新的外观并重新读取。

如果即使重新启动后您的更改也无法解决,则归因于以下两个错误之一:

  1. pyc文件上的时间戳是不正确的,并且在将来的某个时间。
  2. 您实际上在编辑错误的文件。

使用reload,即使不使用reload()命令重新启动软件,也可以重新读取文件。请注意,指向模块中任何内容的任何变量都需要在重新加载后重新导入。像这样:

import themodulefrom themodule import AClassreload(themodule)from themodule import AClass

IPython notebook:如何重新加载特定Python文件中的所有模块?

IPython notebook:如何重新加载特定Python文件中的所有模块?

我在一个文件中定义了很多模块,并从myFile import *添加到我的i python笔记本的第一行,这样我就可以将它用作这个笔记本中其他部分的依赖项.

目前我的工作流程是:

>修改myFile
>重启Ipython内核
>重新运行Ipython中的所有代码.

有谁知道是否有办法重新加载myFile中的所有模块而无需重启Ipython内核?谢谢!

解决方法

来自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中模块的自动重新加载

有没有办法让 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自动重新加载

python wsgiref自动重新加载

您可以使用 nodemon 在您更改文件时自动重新加载 python 文件:

示例:

nodemon main.py

python – POST没有重新加载整个网页

python – POST没有重新加载整个网页

我正在尝试使用requests模块创建一个简单的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没有重新加载整个网页等相关内容,可以在本站寻找。

本文标签: