我喜欢每个文件拥有一个公共类的Java约定,即使有时有很好的理由将多个公共类放入单个文件中。 在我的情况下,我有相同的接口的替代实现。 但是,如果我将它们放入单独的文件,我会在导入语句(或误导模块名称)中有多余的名称: import someConverter.SomeConverter 而someConverter将是文件(和模块)名称和SomeConverter类名称。 这对我来说很不雅观。 把所有的替代类放到一个文件中会导致一个更有意义的导入语句: import converters.SomeConverter 但是如果我把所有的相关类放到一个单独的模块文件中,我担心这些文件会变得很大。 这里的Python最佳实践是什么? 每个文件有一个类是不寻常的?
任何人都可以指出我使用OAuth2和Flask进行身份validation的完整示例,而不是 App Engine? 我试图让用户授予Google日历的访问权限,然后使用该权限从日历中检索信息并进一步处理。 我还需要存储并稍后刷新OAuth2令牌。 我已经看过Google的oauth2client库,并且可以开始跳舞来获取授权码,但是我有点迷路了。 查看Google的OAuth 2.0 Playground我知道我需要刷新令牌和访问令牌,但是库中提供的示例仅适用于App Engine和Django。 我也尝试过使用包含对OAuth2的引用的Flask的OAuth模块 ,但是我没有看到任何交换授权代码的方法。 我可能会手动编写请求代码,但是更愿意使用或改编现有的使得请求容易的python模块,正确地处理可能的响应,甚至可以协助存储令牌。 有这样的事吗?
如果是的话,是否有任何框架/教程/技巧/等推荐? Python的N00b,但我有大量的PHP经验,并希望扩大我的技能。 我知道Python在服务器端的执行很好,只是想了解客户端。
什么是比较Python中的string最简单的方法,忽略大小写? 当然可以做(str1.lower()<= str2.lower())等等,但是这创build了两个额外的临时string(具有明显的alloc / gc开销)。 我想我正在寻找一个相当于C的stricmp()。 [请求更多的上下文,所以我将用一个简单的例子来演示:] 假设你想对一个串列表进行sorting。 你只需要做List.sort()。 这是O(n * log(n))string比较,没有内存pipe理(因为所有的string和列表元素都是某种智能指针)。 你很快乐。 现在,你想要做同样的事情,但忽略这种情况(让我们简化并说所有的string都是ascii,所以locale问题可以忽略)。 您可以执行List.sort(key = lambda s:s.lower()),但是这会导致每个比较有两个新的分配,加上垃圾收集器和重复(降低)的string。 每个这样的内存pipe理噪声比简单的string比较要慢几个数量级。 现在,使用就地stricmp()函数,您可以:theList.sort(cmp = stricmp),它和列表.sort()一样快速且友好。 你又开心了 问题是任何基于Python的不区分大小写的比较涉及隐式string重复,所以我期待find一个基于C的比较(可能在模块string中)。 找不到像这样的东西,因此这里的问题。 (希望澄清这个问题)。
作为一个例子,这个URL: http://example.com/get_image?type=1 应该返回一个image/gif MIMEtypes的响应。 我有两个静态的.gif图像, 如果type是1,则返回ok.gif ,否则返回error.gif 。 如何在烧瓶中做到这一点?
我有以下代码序列化查询集; def render_to_response(self, context, **response_kwargs): return HttpResponse(json.simplejson.dumps(list(self.get_queryset())), mimetype="application/json") 以下是我的get_querset() [{'product': <Product: hederello ()>, u'_id': u'9802', u'_source': {u'code': u'23981', u'facilities': [{u'facility': {u'name': {u'fr': u'G\xe9n\xe9ral', u'en': u'General'}, u'value': {u'fr': [u'bar', u'r\xe9ception ouverte 24h/24', u'chambres non-fumeurs', u'chambres familiales',………]}] 我需要序列化。 但它说不能序列化<Product: hederello ()> 。 由于django对象和字典组成的列表。 有任何想法吗 ?
我正在寻找一个简单的基于进程的python并行映射,也就是一个函数 parmap(function,[data]) 这将运行在不同的进程上的[数据]的每个元素上的函数(以及不同的核心,但AFAIK,在python中运行不同核心的唯一方法是启动多个解释器),并返回一个结果列表。 有这样的事情吗? 我想要简单的东西,所以一个简单的模块会很好。 当然,如果不存在这样的事情,我会去定一个大的图书馆: – /
有没有办法通过指定date获取UTC时间戳? 我期望的是: datetime(2008, 1, 1, 0, 0, 0, 0) 应该导致 1199145600 创build一个天真的date时间对象意味着没有时区信息。 如果我查看datetime.utcfromtimestamp的文档,创build一个UTC时间戳意味着省去时区信息。 所以我猜,创build一个天真的date时间对象(就像我做的)会导致一个UTC时间戳。 然而: then = datetime(2008, 1, 1, 0, 0, 0, 0) datetime.utcfromtimestamp(float(then.strftime('%s'))) 结果是 2007-12-31 23:00:00 date时间对象中是否还有隐藏的时区信息? 我究竟做错了什么?
好的。 所以我的问题很简单:如何在Python中使用eval分配variables的值? 我试过eval('x = 1')但那不行。 它返回一个SyntaxError。 为什么这不工作?
我试图build立OpenERP项目,完成与依赖。 这是现在给这个错误 Traceback (most recent call last): File "openerp-client.py", line 105, in <module> File "modules\__init__.pyo", line 23, in <module> File "modules\gui\__init__.pyo", line 22, in <module> File "modules\gui\main.pyo", line 33, in <module> File "rpc.pyo", line 29, in <module> File "common\__init__.pyo", line 22, in <module> File "common\common.pyo", line 26, in <module> File "tools\__init__.pyo", line 28, in <module> […]