我正在编写一个 Web 应用程序,它会做一些繁重的工作。考虑到这一点,我考虑将任务作为后台任务(非阻塞),以便其他请求不会被先前的请求阻塞。
我继续妖魔化线程,以便在主线程(因为我正在使用threaded=True)完成后它不会退出,现在如果用户发送请求,我的代码将立即告诉他们他们的请求正在进行中(它将运行在后台)并且应用程序已准备好为其他请求提供服务。我当前的应用程序代码看起来像这样。
from flask import Flask
from flask import request
import threading
class threadClass:
def __init__(self):
thread = threading.Thread(target=self.run, args=())
thread.daemon = True # Daemonize thread
thread.start() # Start the execution
def run(self):
#
# This might take several minutes to complete
someHeavyFunction()
app = Flask(__name__)
@app.route('/start', methods=['POST'])
try:
begin = threadClass()
except:
abort(500)
return "Task is in progress"
def main():
"""
Main entry point into program execution
PARAMETERS: none
"""
app.run(host='0.0.0.0',threaded=True)
main()
Run Code Online (Sandbox Code Playgroud)
我只是希望它能够处理一些并发请求(它不会在生产中使用)
我可以做得更好吗?我错过了什么吗?我正在浏览 python …
我正在浏览python中的异常文档:-( https://docs.python.org/2/tutorial/classes.html#exceptions-are-classes-too)
我似乎无法找到这段代码是如何工作的
class B:
pass
class C(B):
pass
class D(C):
pass
for c in [B, C, D]:
try:
raise c()
except D:
print "D"
except C:
print "C"
except B:
print "B"
Run Code Online (Sandbox Code Playgroud)
输出: -
B
C
D
Run Code Online (Sandbox Code Playgroud)
什么是"通过"在课堂上做什么?只需浏览文档,我就可以获得所有类的对象(对象创建顺序: - B,C和D),并在其名称中引发异常,如果是顺序则说明输出B,C ,d.
但是如果我们excpet B用except D整个输出替换就改变了.
class B:
pass
class C(B):
pass
class D(C):
pass
for c in [B, C, D]:
try:
raise c()
except B:
print "B"
except C:
print "C"
except D:
print "D" …Run Code Online (Sandbox Code Playgroud) 我有两个列表,我想根据列表的第一个元素进行分组.
list1 = [['1','abc','zef'],['2','qwerty','opo'],['3','lol','pop']]
list2 = [['1','rofl','pole'],['2','sole','pop'],['3','lmao','wtf']]
Run Code Online (Sandbox Code Playgroud)
这里列表中列表中的第一个元素是'1','2'和'3'.
我希望我的最终名单如下: -
Final_List = [['1', 'abc', 'zef', 'rofl', 'pole'], ['3', 'lol', 'pop', 'lmao', 'wtf'], ['2', 'qwerty', 'opo', 'sole', 'pop']]
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码试过这个.
#!/usr/bin/python
list1 = [['1','abc','zef'],['2','qwerty','opo'],['3','lol','pop']]
list2 = [['1','rofl','pole'],['2','sole','pop'],['3','lmao','wtf']]
d = {}
for i in list1:
d[i[0]] = i[1:]
for i in list2:
d[i[0]].extend(i[1:])
Final_List = []
for key, value in d.iteritems():
value.insert(0,key)
Final_List.append(value)
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但我想知道是否有一种简单而清洁的方法
有帮助吗?
我正在浏览一些python字典链接并找到了这个.
我似乎无法理解下面发生了什么.
dict1 = {1:'1',2:'2'}
print dict1
Run Code Online (Sandbox Code Playgroud)
产量
{1:'1',2:'2'}
Run Code Online (Sandbox Code Playgroud)
但是如果我在字典中添加一个布尔键,它会给出一些奇怪的东西.
dict2 = {True:'yes',1:'1',2:'2'}
print dict2
Run Code Online (Sandbox Code Playgroud)
产量
{True:'1',2:'2'}
Run Code Online (Sandbox Code Playgroud)
只有在字典中包含布尔值时才会发生吗?
我想编写一个包装器kubectl来仅显示失败的 pod,这意味着它应该只显示 Ready 列值不相同的项目(即0/1, 0/2, 1/2, 2/3,等)
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod-with-sidecar 1/2 ErrImagePull 0 39s
kube-system calico-node-chcqq 2/2 Running 2 7d
kube-system calico-policy-controller-6449789dd6-z5t5j 1/1 Running 0 7d
kube-system etcd 1/1 Running 0 7d
kube-system kube-apiserver 1/1 Running 2 7d
kube-system kube-controller-manager 1/1 Running 0 7d
kube-system kube-dns-5c76d6bddb-8zhmq 3/3 Running 1 7d
kube-system kube-proxy-xq8j6 1/1 Running 0 7d
kube-system kube-scheduler- 1/1 Running 0 7d
kube-system tiller-deploy-5b7cb9cfd7-j725s 1/1 Running …Run Code Online (Sandbox Code Playgroud) 我有一个字符串
Mystring = "123 456 789, 234, 999|567 888[222"
Run Code Online (Sandbox Code Playgroud)
我想拆分这个字符串" " "," "|",并"["获取列表中的所有数字
预期产出: -
List = ["123","456","789","234","999",567","888","222"]
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码
Final_List = re.findall("(\d+?)[ ,|\]]",Mystring)
Run Code Online (Sandbox Code Playgroud)
实际产量:
["123","456","789",234","999",567"]
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到所有数字?
我正在将数据库表转换为带有'|'的CSV文件 作为分隔符.
我有一个数据库表的输出,如: -
表:-
|London | Jul 9 2014 1:21PM |john |
|New York | Jul 9 2014 1:21PM |peter |
|New Zeland | Jul 9 2014 1:21PM |Mr. Jones |
Run Code Online (Sandbox Code Playgroud)
我想删除尾随空格并将其格式化为: -
|London|Jul 9 2014 1:21PM|john|
|New York|Jul 9 2014 1:21PM|peter|
|New Zeland|Jul 9 2014 1:21PM|Mr. Jones|
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码
f = open(csv_file,'w')
for lines in Table:
lines = lines.replace(' ','')
f.write(lines)
f.close
Run Code Online (Sandbox Code Playgroud)
但在文件中我在csv文件中得到类似的东西: -
|London|Jul920141:21PM|john|
|NewYork|Jul920141:21PM|peter|
|NewZeland|Jul920141:21PM|Mr.Jones|
Run Code Online (Sandbox Code Playgroud)
如何删除不需要的空格,同时保留单词之间的onces?
python ×6
dictionary ×1
exception ×1
findall ×1
flask ×1
grep ×1
kubernetes ×1
list ×1
regex ×1