这是我的烧瓶服务器运行的代码:
from flask import Flask, make_response
import os
app = Flask(__name__)
@app.route("/")
def index():
return str(os.listdir("."))
@app.route("/<file_name>")
def getFile(file_name):
response = make_response()
response.headers["Content-Disposition"] = ""\
"attachment; filename=%s" % file_name
return response
if __name__ == "__main__":
app.debug = True
app.run("0.0.0.0", port = 6969)
Run Code Online (Sandbox Code Playgroud)
如果用户访问该站点,则会在目录中打印文件.但是,如果你去网站:6969/filename它应该下载文件.但是我做错了,因为文件大小总是0字节,下载的文件中没有数据.有什么想法吗.我尝试添加内容长度标头,但没有用.不知道它还能是什么.
在这一点上,这更像是一个概念性的问题,而不是一个实际问题,但它确实困扰着我.
让我们说我有一个名为"test.c"的ac程序,我想找到数组中的空格数,用户输入的单词作为参数.例如,"./ test.c test_run"应该打印9,因为有8个字符,然后一个用于空终止字符.当我尝试在argv上使用sizeof时虽然我遇到了麻烦.
int main(int argc, char *argv[]) {
char buf10[10];
printf("The size of buf10 is: %i.\n", sizeof(buf10));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
打印结果:" buf10的大小为:10 ".这是有道理的,因为我选择了一个char数组.在C中,char的大小是1个字节.如果我选择int,这个数字将是4.
现在我的问题是为什么我不能用argv这样做?
int main(int argc, char *argv[]) {
printf("argv[1] has the value: %s\n", argv[1]);
printf("strlen of argv[1] is: %i\n", strlen(argv[1]));
printf("sizeof of argv[1] is: %i\n", sizeof(argv[1]));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用"./test Hello_SO"进行输出:
argv[1] has the value: Hello_SO
strlen of argv[1] is: 8
sizeof of argv[1] is: 4
Run Code Online (Sandbox Code Playgroud)
字符串长度是有意义的,因为它应该是9但减去"\ 0"使得8.
但是我不明白为什么sizeof返回4(指针的大小).我知道*argv []可以被认为是**argv.但我已经说明了这一点.在我的第一个例子中,我打印"buf",但在这里我打印"argv [1]".我知道我可以通过使用strlen轻松得到答案,但正如我之前所说,这只是概念性的.
因此,从Python/Flask文档中,他们都建议不要将Flask Web服务器作为生产Web服务器运行,这是有意义的.我的问题是,我能够在Nginx服务器上运行我的Flask应用程序吗?为什么互联网上的所有指南都建议在UWSGI,Tornado或其他一些WSGI服务器上包装Flask?WSGI是什么意思?Flask WGSI不兼容吗?
我特别迷失,因为在这里,第一个回应指出:
Apache和Nginx都是HTTP服务器.它们可以提供静态文件,如(.jpg和.html文件)或动态页面(如Wordpress博客或用PHP或Python等语言编写的论坛).
不过这篇文章指出:
Nginx是一个Web服务器.它提供静态文件,但它无法执行和托管Python应用程序.uWSGI填补了这一空白.
我的应用程序由服务器(例如:uWSGI)和另一台服务器(例如:Nginx)处理似乎效率低下.
我正在阅读有关泛型的Java文档,特别是关于有界类型的此页面,并且迷路了。这是我的代码的一个简单版本,对于上下文,我通常希望使用一个可比较的键,一个键带有an Integer,另一个键带有a的抽象类Date,这只是基础抽象类和整数实现:
抽象类:
public abstract class A<K extends Comparable<K>, V> extends TreeMap<K, V>
整数抽象类:
public abstract class B<K extends Integer, V> extends A<K,V>
我得到的错误是在第二部分的类型引用中extends A<K,V>。具体来说,我的IDE是K的基础,并说Type parameter 'K' is not within its bound; should implement 'java.lang.Comparable<K>'
我对此感到困惑,因为在的定义中Integer,它实现了Comparable<Integer>,是否还不足以满足此要求?此外,当我尝试执行以下操作时public abstract class B<K extends Integer & Comparable<K>, V> extends A<K,V>,也不起作用。
我对仿制药有误解吗?