我正在使用flask设置本地服务器.我目前要做的就是使用index.html页面中的img标签显示图像.但我不断收到错误
GET http://localhost:5000/
ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg 404 (NOT FOUND)
Run Code Online (Sandbox Code Playgroud)
烧瓶在哪里寻找文件?一点帮助都会很棒.我的HTML代码是
<html>
<head>
</head>
<body>
<h1>Hi Lionel Messi</h1>
<img src= "ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg ">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的python代码是:
@app.route('/index', methods=['GET', 'POST'])
def lionel():
return app.send_static_file('index.html')
Run Code Online (Sandbox Code Playgroud) 在一个已编译的程序中(假设是C或C++,但我想这个问题可以扩展到任何带有调用堆栈的非VM语言) - 通常当你溢出堆栈时,会出现分段错误:
堆栈溢出是[a]原因,分段错误就是结果.
但这总是如此吗?堆栈溢出是否会导致其他类型的程序/操作系统行为?
我也问过非Linux,非Windows操作系统和非X86硬件.(当然,如果你没有硬件内存保护或操作系统支持(例如MS-DOS)那么就没有分段错误;我问的是你可能会遇到分段错误的情况但是还会发生其他事情).
注意:假设以外的堆栈溢出,该方案是有效的,而不是试图访问数组超出边界,取消引用无效指针等
我有一些单选按钮,我想根据选择的单选按钮显示不同的隐藏div.这是HTML的样子:
<form name="form1" id="my_form" method="post" action="">
<div><label><input type="radio" name="group1" value="opt1">opt1</label></div>
<div><label><input type="radio" name="group1" value="opt2">opt2</label></div>
<div><label><input type="radio" name="group1" value="opt3">opt3</label></div>
<input type="submit" value="Submit">
</form>
....
<style type="text/css">
.desc { display: none; }
</style>
....
<div id="opt1" class="desc">lorem ipsum dolor</div>
<div id="opt2" class="desc">consectetur adipisicing</div>
<div id="opt3" class="desc">sed do eiusmod tempor</div>
Run Code Online (Sandbox Code Playgroud)
这是我的jQuery:
$(document).ready(function(){
$("input[name$='group2']").click(function() {
var test = $(this).val();
$("#"+test).show();
});
});
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是因为我的单选按钮和div是动态生成的(单选按钮的值总是有一个相应的div).上面的代码部分工作 - div会在选中正确的按钮时显示,但我需要添加一些代码,以便在取消选中按钮后再次隐藏div.谢谢!
我有课A
,B
,C
和D
那里B
延伸A
,C
扩展A
和D
延伸A
.
我有以下ArrayList
几个,其中包含一些元素:
ArrayList<B> b;
ArrayList<? extends A> mix = b;
Run Code Online (Sandbox Code Playgroud)
我打算让变量mix
包含类型的元素B
,C
或D
.我试图类型的元素加入C
到mix
这样的:
mix.add(anElementOfTypeC);
Run Code Online (Sandbox Code Playgroud)
但IDE不允许我这样做,它说:
通过调用转换的方法,无法将anElementOfTypeC转换为CAP#1,其中CAP#1是一个新的类型变量:CAP#1从捕获?延伸A.
我使用<? extends A>
得当吗?我该如何解决这个问题?
你们都知道这个故事:程序员读取其他人的代码,程序员看到他们不理解的符号,谷歌失败了,因为搜索非字母数字符号很困难.
这次它是@
符号,似乎用于将一个列表的内容注入另一个列表的中间.例如:
`(5 6 7 ,@'(8 9) 10 11)
;=> (5 6 7 8 9 10 11)
Run Code Online (Sandbox Code Playgroud)
我很满意这种用法,但我想知道我是否理解@
正确的行为?它有其他用途吗?以下成绩单中的错误是什么原因(来自CLISP)?
[1]> (list 1 2 3 4 @'(5 6 7))
*** - SYSTEM::READ-EVAL-PRINT: variable @ has no value
Run Code Online (Sandbox Code Playgroud)
最后,到底是 @
什么?它似乎不是一个功能:
[3]> (print #'@)
*** - FUNCTION: undefined function @
Run Code Online (Sandbox Code Playgroud)
我猜这是一个基本的语法,如backquote(`
)或逗号(,
).它是否正确?对不起,如果这是重复的,但是再一次,据我所知,它是不可能搜索的@
.
以下程序完美编译,没有错误或警告(即使有-Wall
)在g ++中,但立即崩溃.
#include <cstdio>
int stuff(void)
{
puts("hello there.");
return 0;
}
int (*main)(void) = stuff;
Run Code Online (Sandbox Code Playgroud)
这是一个(显然可怕的误导)尝试运行C++程序而没有明确声明main作为函数.我打算通过将程序stuff
绑定到符号来执行程序main
.我很惊讶这个编译,但为什么它失败了,编译?我看过生成的程序集,但我完全不了解它.
我完全清楚对如何定义/使用有很多限制main
,但我不清楚我的程序如何打破它们中的任何一个.我没有重载main或者在我的程序中调用它...所以我通过main
这种方式确定了什么规则?
注意:这不是我在实际代码中尝试做的事情.它实际上是尝试用C++编写Haskell的开始.
使用keyfunc时,性能大幅下降heapq.nlargest
:
>>> from random import random
>>> from heapq import nlargest
>>> data = [random() for _ in range(1234567)]
>>> %timeit nlargest(10, data)
30.2 ms ± 1.19 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
>>> %timeit nlargest(10, data, key=lambda n: n)
159 ms ± 6.32 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Run Code Online (Sandbox Code Playgroud)
我预计会有一小笔额外费用,可能是30% - 而不是400%.这种降级似乎可以在几种不同的数据大小上重现.您可以在源代码中看到有一个特殊情况处理if key is None
,但是否则实现看起来或多或少相同.
为什么使用关键功能会降低性能?是仅仅由于额外的函数调用开销,还是算法通过使用keyfunc从根本上改变了?
相比之下,sorted
使用相同的数据和lambda大约需要30%的命中率.
在一个类中,私有成员是在公共成员的单独内存中分配的,还是按照定义的顺序分配的所有成员?
例如,
class A {
private:
int a1;
int a2:3;
public:
int z;
int a3:2;
int a4:5;
private:
int a5:2;
}
Run Code Online (Sandbox Code Playgroud)
是a1
,a2
和a5
凑钱进行内存分配或者是单纯a1
,a2
,a3
,a4
,a5
?
如果发生夜总会,可能会在比特字段的情况下改变班级的大小.
我最近惊讶地发现“splat”(一元 *)运算符总是list
在项目解包期间将切片捕获为 a ,即使被解包的序列具有另一种类型:
>>> x, *y, z = tuple(range(5))
>>> y
[1, 2, 3] # list, was expecting tuple
Run Code Online (Sandbox Code Playgroud)
与不拆包的情况下如何编写此作业进行比较:
>>> my_tuple = tuple(range(5))
>>> x = my_tuple[0]
>>> y = my_tuple[1:-1]
>>> z = my_tuple[-1]
>>> y
(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
它也与 splat 运算符在函数参数中的行为方式不一致:
>>> def f(*args):
... return args, type(args)
...
>>> f()
((), <class 'tuple'>)
Run Code Online (Sandbox Code Playgroud)
为了y
在解包后恢复为元组,我现在必须写:
>>> x, *y, z = tuple(range(5))
>>> y = tuple(y)
Run Code Online (Sandbox Code Playgroud)
这仍然比基于切片的语法好得多,但仍然受到我认为非常不必要和意外的优雅损失的影响。有没有办法在y
没有分配后处理的情况下恢复为元组而不是列表?
我试图y
通过写入来强制 python …
共享标头.
我可以做这个:
const bool kActivatePlayground=false;
包含在多个文件中时工作正常.
我不能做到这一点:
const char * kActivePlayground = "kiddiePool";
导致错误:重复符号.
但这有效:
static const char * kActivePlayground = "kiddiePool";
为什么static
需要const char *
而不是为了const bool
?另外,我认为static
没有必要,因为const
总是static
隐含的?
c++ ×4
python ×3
python-3.x ×2
arraylist ×1
c ×1
class ×1
common-lisp ×1
file-upload ×1
flask ×1
generics ×1
heap ×1
java ×1
jquery ×1
lisp ×1
list ×1
radio-button ×1
static ×1
tuples ×1