我正在尝试使用装饰器函数记录错误app.logger.error(''),但它只是不起作用.另外我不能很好地调试这个,我只能看到来自http客户端的响应:
(我正在使用nginx + uwsgi + flask)
HTTP/1.1 502 Bad Gateway
服务器:nginx
日期:太阳,2012年8月12日15:45:09 GMT
内容类型:text/html
内容长度:14
连接:保持活力
一切都行得很好: app.logger.error('panic !!!')
def mydecorator():
def decorator(f):
def wrapped_function(*args, **kwargs):
try:
ip = Mytable.query.filter_by(ip=request.remote_addr).first()
except:
app.logger.error('panic !!!')
else:
dootherthing()
resp = make_response(f(*args, **kwargs))
h = resp.headers
h['add-this-header'] = ":)"
return resp
return update_wrapper(wrapped_function, f)
return decorator
Run Code Online (Sandbox Code Playgroud)
它似乎是脱离背景或某种东西.
所以我目前正在开发一个基本的小网站来运行我的网络.但是,我遇到了一些问题.当我运行服务器时,在运行服务器的计算机上,我可以非常快速地访问这些页面.但是,当我尝试在我的网络上的另一台计算机上访问同一页面时,它会非常缓慢地加载.是因为我使用开发.服务器而不是像Paste或Apache这样的东西?(另请注意,当我查看服务器计算机时,请求的日志在我在另一台计算机上的浏览器上请求后大约5-6秒)
我的代码如下:
正在访问的页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>index</title>
<link type="text/css"
href="cssfiles/mainpagecss.css"
rel="stylesheet">
</head>
<body>
<table
style="width: 100%; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>
<h1><span class="headertext">
<center>Network
Website</center>
</span></h1>
</td>
</tr>
</tbody>
</table>
%if name!='none':
<p align="right">signed in as: {{name}}</p>
%else:
pass
%end
<br>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td>
<table style="text-align: left; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td …Run Code Online (Sandbox Code Playgroud) 我一直在寻找android和IOS上python的不同包,因为我将很快升级我的手机.
但是,我不知道要使用哪种操作系统.对于Android他们有SL4A包,但对于IOS他们有他们的等效.但是,我坚持要去.有人对此有任何建议吗?
我知道这是一个愚蠢的问题,但我刚刚进入移动开发,因为他们允许在移动平台上使用脚本语言.
我在这篇文章中已经阅读过使用ThreadingMixin(从SocketServer模块中),您可以创建一个带线程的服务器BaseHTTPServer.我试过了,它确实有效.但是,如何停止服务器生成的活动线程(例如,在服务器关闭期间)?这可能吗?
在优化Python代码(或任何代码)时,它最终会归结为分析以优化瓶颈或减慢功能.但是,在优化这些代码区域时,是否有使用纯Python 字节码 内联的用例?我知道你可以通过使用compile内置函数和compiler模块来实现这一点.
在整个使用Python的过程中,我已经看到很多可以在字符串上使用的东西,比如.lower()或者,.startswith()或者.endswith(),我不确定如何创建与它类似的函数,因为我认为必须使用传递字符串的类这个功能,我只是想做一些事情,"the string".myfunc()而不是MyClassObjWithString.myfunc().
有没有办法制作这样的功能?
有没有办法从bash浏览器中给出的控制台内重新启动Web服务器PythonAnywhere?我已经搜索了谷歌一段时间,但没有找到任何相关的东西.
所以我试图使用一个返回值的函数,但我希望这些值返回到一个不同的函数.我需要的一个例子如下.
def returner():
x=1
y=2
z=3
return x,y,z
def tester(arg1,arg2,arg3):
print arg1,arg2,arg3
tester(returner())
Run Code Online (Sandbox Code Playgroud)
我想要它做的是打印1,2,3然而我无法用它来做这件事,因为它说"测试者需要3个参数,1个给定." 我有什么遗失或者这是不可能的吗?
当min()在defaultdict对象上使用时,如果在计数字符串索引的字典上使用它,则奇怪地返回最大值.
例如:
>>> import collections
>>> defaultdict=collections.defaultdict
>>> x=defaultdict(int)
>>> string="lol I am a lol noob"
>>> for k in string:
x[k]+=1
>>> x
defaultdict(<type 'int'>, {'a': 2, ' ': 5, 'b': 1, 'I': 1, 'm': 1, 'l': 4, 'o': 4, 'n': 1})
>>> min(x.items())
(' ', 5)
Run Code Online (Sandbox Code Playgroud) 我想更新一个数字而不改变它在程序输出中的位置.我将如何仅使用python 2.7.2标准库中包含的内容来完成此操作?
例如,我想输出如下:
working on: 9
并改为:
working on: 10
不改变它显示的行.我该怎么做呢?我也希望你不要cls用来防止"闪烁".
我有一些代码是我前面写的,无论如何我挖出来使用它,我收到以下错误.
下面是围绕第353行的代码.
$db->Connect('localhost', '*****', '*****', '******');
foreach($data) {
$db->Query("INSERT INTO main (company_name, web_address, address, telephone) VALUES ('".$data['name']."', '".$data['url']."', '".$data['address']."', '".$data['phone']."')");
} echo "DONE";
Run Code Online (Sandbox Code Playgroud)
第353行涉及Foreach,任何建议或建议都将非常感谢.
是否有调试器可以在运行Python代码时调试Python虚拟机,类似于GDB使用C/C++的方式?我在网上搜索和所遇到的pdb,但这个步骤通过执行的代码由 Python解释器,而不是Python解释器作为其运行程序.