小编Rod*_*ele的帖子

asyncpg - 无法执行操作:另一个操作正在进行中

我正在尝试解决以下错误:

\n
asyncpg.exceptions._base.InterfaceError: cannot perform operation: another operation is in progress\n
Run Code Online (Sandbox Code Playgroud)\n

这是完整的回溯:

\n
Traceback (most recent call last):\n\n  File "<string>", line 1, in <module>\n  File "/Users/ddd/.pyenv/versions/3.8.6/lib/python3.8/multiprocessing/spawn.py", line 116, in spawn_main\n    exitcode = _main(fd, parent_sentinel)\n               \xe2\x94\x82     \xe2\x94\x82   \xe2\x94\x94 4\n               \xe2\x94\x82     \xe2\x94\x94 7\n               \xe2\x94\x94 <function _main at 0x109c8aca0>\n  File "/Users/ddd/.pyenv/versions/3.8.6/lib/python3.8/multiprocessing/spawn.py", line 129, in _main\n    return self._bootstrap(parent_sentinel)\n           \xe2\x94\x82    \xe2\x94\x82          \xe2\x94\x94 4\n           \xe2\x94\x82    \xe2\x94\x94 <function BaseProcess._bootstrap at 0x109b1f8b0>\n           \xe2\x94\x94 <SpawnProcess name='SpawnProcess-4' parent=36604 started>\n  File "/Users/ddd/.pyenv/versions/3.8.6/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap\n    self.run()\n    \xe2\x94\x82    \xe2\x94\x94 <function …
Run Code Online (Sandbox Code Playgroud)

asynchronous python-3.x python-asyncio asyncpg fastapi

22
推荐指数
1
解决办法
2万
查看次数

将matplotlib png转换为base64以便在html模板中查看

背景

您好,我正在尝试创建一个简单的Web应用程序,按照教程计算一个阻尼振动方程,并在将其转换为Base64字符串后将结果的png返回到html页面.

问题

应用程序正常运行,但计算结果时,会返回损坏的图像图标,可能是因为Base64字符串无效.

故障排除

我已使用在线转换器将另一个png图像转换为Base64字符串,并用于<img src="data:image/png;base64, BASE64_STRING"/>成功显示图像.我相信模板格式正确.我也在这里这里阅读了其他的SO答案,并尝试实施那些没有成功的答案.

相关代码

这是返回图像字符串的位置

from numpy import exp, cos, linspace
import matplotlib.pyplot as plt


def damped_vibrations(t, A, b, w):
    return A*exp(-b*t)*cos(w*t)


def compute(A, b, w, T, resolution=500):
    """Return filename of plot of the damped_vibration function."""
    t = linspace(0, T, resolution+1)
    u = damped_vibrations(t, A, b, w)
    plt.figure()  # needed to avoid adding curves in plot
    plt.plot(t, u)
    plt.title('A=%g, b=%g, w=%g' % (A, b, w))

    from io import BytesIO …
Run Code Online (Sandbox Code Playgroud)

html python base64 matplotlib flask

21
推荐指数
1
解决办法
8014
查看次数

为什么 jinja2 过滤“tojson”排序键?

我有一个不灵活的要求 ,即保留 API 输出的键的顺序。我将数据作为 python 字典并将其作为上下文传递给 jinja2 模板,如下所示:

....
 return templates.TemplateResponse(
        "sat.html",
        context={
            "request": request,
            "address": address,
            "json_out": json_out, # this is a dict with correct order
            "timing": timing,
            "title_text": title_text,
        },
    )
Run Code Online (Sandbox Code Playgroud)

如果我只是{{ json_out }}在模板中使用,我发现顺序被保留了。如果我使用{{ json_out | tojson }}(因为我有兴趣将其传递给javascript),键就会被排序。为什么?

看这个例子:

在此输入图像描述

用于生成上述内容的代码:

在此输入图像描述

我完全理解这些数据结构是无序的。然而,jinja2 过滤器中似乎发生了一些排序tojson。也许我误解了这里发生的事情......我怎样才能保留初始顺序,同时也使这些数据可供js使用?Django 有一个过滤器允许这样做{{ json_output | json_script:"api_out"}},但我似乎无法使用 Flask/FastAPI 进行复制。

python jinja2 flask

4
推荐指数
1
解决办法
1167
查看次数

charAt()和Math.pow()

背景:

我正在为类赋值创建一个简单的基本转换器.我相当接近完成但需要整理转换算法以将用户输入的值(在给定的基础中)转换为基数10的值.

尝试:

import java.util.Scanner;

public class BaseConverter {
public static void main(String[] args) {
    String numIn, intro1, prompt1, prompt2, output1;
    int baseIn;
    double numOut;
    boolean flag = true;
    Scanner kb = new Scanner(System.in);

    intro1 = "This program converts values in different number bases to a decimal value.";
    prompt1 = "Type in a number base (2 - 9): ";

    while (flag == true){
        System.out.println(intro1);
        System.out.println(prompt1);
        baseIn = kb.nextInt();
        //Checking base value for outliers outside given range
        if (baseIn < 2 …
Run Code Online (Sandbox Code Playgroud)

java math ascii pow charat

2
推荐指数
1
解决办法
1020
查看次数

after_cancel用作停止方法

我正在尝试使用after_cancel来停止简单图像查看器中的动画循环.我已经阅读了关于Tcl的文档,在这里搜索并google,并探索了python subreddits.我的错误是:

TclError: wrong # args: should be "after cancel id|command"
Run Code Online (Sandbox Code Playgroud)

这发生在以下代码的最后一行(请不要因为使用全局变量而杀了我,这个项目只是一个图像查看器来显示我们办公室的天气预报产品):

n_images = 2
images = [PhotoImage(file="filename"+str(i)+".gif") for i in range(n_images)]
current_image = -1

def change_image():
    displayFrame.delete('Animate')
    displayFrame.create_image(0,0, anchor=NW,
                        image=images[current_image], tag='Animate')
    displayFrame.update_idletasks() #Force redraw

callback = None

def animate():
    forward()
    callback = root.after(1000, animate)

def forward():
    global current_image
    current_image += 1
    if current_image >= n_images:
        current_image = 0
    change_image()

def back():
    global current_image
    current_image -= 1
    if current_image < 0:
        current_image = n_images-1
    change_image()

def stop():
    root.after_cancel(callback)
Run Code Online (Sandbox Code Playgroud)

如果有更合适的方法来停止Tkinter中的动画循环,请告诉我!

python tkinter python-2.7 pillow

0
推荐指数
2
解决办法
2727
查看次数

使用Flask在HTML/JS上呈现SQL数据

我创建了一个简单的Web应用程序,它打算从sql数据库中提取数据(特别是在美国的森林火灾事件和相关元数据).我可以使用flask/sqlite3在Python中查询数据库,并打印与查询匹配的结果列表.但是,我不熟悉如何获取结果列表并动态地在谷歌地图上呈现它.因此,对于返回的每个记录,将有一个带有lat/long的标记,然后是一个显示元数据的对话框.

相关片段:

@app.route('/results', methods=['POST'])
def results():
    form_input = {
        'start_date': request.form['yearfrom'] + '-' + request.form['monthfrom'] + '-' + request.form['dayfrom']
                      + 'T00:00:00',
        'end_date': request.form['yearto'] + '-' + request.form['monthto'] + '-' + request.form['dayto']
                      + 'T00:00:00',
        'state': request.form['state'],
        'fire_size': request.form['size']
    }
    # Stores only query terms without blank values
    query_terms = {k: v for k, v in form_input.items() if v != 'blank' and k != 'start_date' and k != 'end_date'}

    query_string = 'SELECT latitude,longitude, fire_name, discovery_date, stat_cause_descr, fire_size, state FROM fires' …
Run Code Online (Sandbox Code Playgroud)

html javascript python google-maps flask

0
推荐指数
1
解决办法
3788
查看次数