我遇到类似于这个 pypi的问题,除了我正在运行窗口和提到的解决scheme页面closures。 有谁知道如何解决这个问题? 我正在使用Python 2.5。 python setup.py sdist register upload running register We need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default […]
我有一个面向对象的层次结构,它的代码本身需要尽可能多的维护。 例如, class Swallow(object): def airspeed(self): """Returns the airspeed (unladen)""" raise NotImplementedError class AfricanSwallow(Swallow): def airspeed(self): # whatever 现在,问题是AfricanSwallow.airspeed不会inheritance超类方法的文档string。 我知道我可以使用模板方法模式,即保持文档string class Swallow(object): def airspeed(self): """Returns the airspeed (unladen)""" return self._ask_arthur() 并在每个子类中实现_ask_arthur 。 但是,我想知道是否有另一种方式来让文档被inheritance,也许还有一些我还没有发现的装饰器呢?
我想把这个序列的前1024个项分配给一个列表。 我最初猜测,这个列表硬编码将是最快的方法。 我也尝试algorithm生成列表,发现这比硬编码更快。 因此,我testing了各种折衷办法,使用越来越长的硬编码列表和algorithm扩展到1024个项目。 我发现最快的方法是对128个项目进行硬编码,然后生成剩下的项目。 我想了解为什么硬编码序列中的前128个项目,并计算其余的比硬编码所有1024个项目更快。 代码和configuration文件结果如下所示,使用Python 3.4.2 Shell( IDLE )和cProfile timeit ( 感谢Veedrac对于改进的分析代码的回答 )。 我已经把硬编码列表放在一行很长的一行,以避免与行数混淆的问题,但除此之外代码不需要水平滚动。 码 def hardcoded(): m = [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,9,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,10] def softcoded(): m = [0] for k in range(10): m += m m[-1] += 1 def hybrid(): m = [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7] for k in range(3): m += m m[-1] += 1 from timeit import […]
我之前曾经问过这个问题 ,关于杀死一个使用了太多内存的进程,我已经得到了大部分解决scheme。 然而,有一个问题:计算大量的数字似乎没有受到我试图使用的方法。 下面的代码是为了在这个过程中放置一个10秒钟的CPU时间限制。 import resource import os import signal def timeRanOut(n, stack): raise SystemExit('ran out of time!') signal.signal(signal.SIGXCPU, timeRanOut) soft,hard = resource.getrlimit(resource.RLIMIT_CPU) print(soft,hard) resource.setrlimit(resource.RLIMIT_CPU, (10, 100)) y = 10**(10**10) 当我运行这个脚本(在Unix机器上)时,我期望看到的是这样的: -1 -1 ran out of time! 相反,我没有输出。 我得到输出的唯一方法是用Ctrl + C ,如果我在10秒后按Ctrl + C ,我会得到这个结果: ^C-1 -1 ran out of time! CPU time limit exceeded […]
正如我理解Flask中的gvariables,它应该为我提供一个全局的地方来存储数据,例如login后保存当前用户。 它是否正确? 我希望我的导航在login网站时显示我的用户名。 我的意见包含 from Flask import g #among other things 在login期间,我分配 user = User.query.filter_by(username = form.username.data).first() if validate(user): session['logged_in'] = True g.user = user 我似乎无法访问g.user。 相反,当我的base.html模板具有以下… <ul class="nav"> {% if session['logged_in'] %} <li class="inactive">logged in as {{ g.user.username }}</li> {% endif %} </ul> 我得到的错误: jinja2.exceptions.UndefinedError UndefinedError: 'flask.ctx._RequestGlobals object' has no attribute 'user' login,否则工作正常。 我错过了什么?
我想自动完成我的Python脚本也参数。 我从来没有真正理解bash_completion是如何工作的(用于论证),但是在我深入了解之后,我明白了这一点: 它使用“完成”将完成function绑定到命令 每个完成函数基本上都是参数parsing器的副本 第二点尤其不是很好,因为我想自动生成它。 最好的情况是,shell会在每个TAB上向我的程序询问要完成什么,但是我有这样的印象:这不可行,是对的吗? 第二个select可能只是将一个转换器从一个argparseparsing器写到一个正确完成的shell函数中。
我试图在3.x中复制Python 2.x的sorting行为(如果可能的话还可以改进),以便相互定义的types(如int , float等)按照预期进行sorting,并将相互无法编码的types分组在输出中。 这是我正在谈论的一个例子: >>> sorted([0, 'one', 2.3, 'four', -5]) # Python 2.x [-5, 0, 2.3, 'four', 'one'] >>> sorted([0, 'one', 2.3, 'four', -5]) # Python 3.x Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unorderable types: str() < int() 我以前的尝试,使用一个类的关键参数sorted() (请参阅为什么这个关键类sorting异类序列行为奇怪? )是根本上打破,因为它的方法 试图比较价值观和 如果失败,则回退到比较其types的string表示forms 会导致不及物动词的sorting,正如BrenBarn的出色答案所解释的那样 。 一个天真的方法,我最初拒绝,甚至没有尝试编码,将使用返回一个(type, value)元组的关键函数: def […]
我的组织当前提供的Web应用程序主要基于SQL Server 2005/2008后端,Java模型/控制器框架和基于ColdFusion的视图。 我们决定过渡到一个更新的框架,经过内部探索和迷你项目缩小了Python和C#/ .NET之间的select范围。 让我首先说我意识到任何一种技术都可以发挥作用,并且正在寻找关键的差异因素(以及相关的利弊)。这些语言有许多共同之处,很多都没有 – 我正在寻找你的想法在他们的关键差异。 示例权衡/差异性我在寻找: 虽然看起来你可以用更less的代码完成更多的工作,并且可以用Python创造更多的内容,因为.NET更加结构化,可能会更容易接pipe别人写的代码。 一些额外的信息可能是有用的: 我们的工程团队大概有20人左右,我们在5-7人的小团队里工作,经常轮stream进出。 我们编写别人写的代码,就像我们编写新代码一样。 使用python,我们将使用Django路由,使用.NET,我们将使用MVC2。 我们的服务器是运行IIS的Windows服务器。 我们喜欢ColdFusion的一些事情,包括它非常容易处理查询,并且我们可以将修复程序“热部署”到我们的Web服务器,而无需重新启动它们或打断任何人。 我读过一些涉及这两种语言的X和Y线程,发现它们非常有帮助,但是想直接把Python与.Net直接对抗。 提前感谢让我点击你的这个难题的经验!
说我有一个Django类是这样的: class Person(models.Model): name = models.CharField(max_length=50) # … 我如何编程地获得name字段的max_length值?
我用Apache和mod_wsgi和PostgreSQL的django(都在同一主机上),我需要处理很多简单的dynamic页面请求(每秒数百)。 我面临的问题是,Django没有持久的数据库连接,并重新连接每个请求(大约需要5ms)的瓶颈。 在做基准testing时,我得到了持续的连接,我可以处理接近500 r / s的速度,而没有得到50 r / s的速度。 任何人有任何build议? 如何修改Django使用持久连接? 或者加速从python到数据库的连接 提前致谢。