我正在将UTC时间字符串添加到目前仅包含阿姆斯特丹(!)时间字符串的Bitbucket API响应中.为了与其他地方返回的UTC时间字符串保持一致,所需的格式为2011-11-03 11:07:04
(后跟+00:00
,但这不是密切相关的).
什么是创建这样一个字符串(最好的方式,而不从一微秒组件)datetime
的实例与微秒组成部分?
>>> import datetime
>>> print unicode(datetime.datetime.now())
2011-11-03 11:13:39.278026
Run Code Online (Sandbox Code Playgroud)
作为一个可能的答案,我将添加我发生的最佳选项,但可能会有一个更优雅的解决方案.
编辑:我应该提到我实际上并没有打印当前时间 - 我曾经datetime.now
提供过一个简单的例子.所以解决方案不应该假设datetime
它接收的任何实例都包含微秒组件.
该表包含大约一千万行.
for event in Event.objects.all():
print event
Run Code Online (Sandbox Code Playgroud)
这导致内存使用量稳定增加到4 GB左右,此时行快速打印.第一行打印之前的漫长延迟令我感到惊讶 - 我预计它几乎可以立即打印出来.
我也尝试过Event.objects.iterator()
以同样的方式行事.
我不明白Django加载到内存中的原因或为什么会这样做.我希望Django的通过在数据库级别的结果迭代,which'd意味着结果将在大约(长时间的等待之后,而不是一次全部)以恒定的速率进行打印.
我误解了什么?
(我不知道它是否是相关的,但我使用PostgreSQL.)
在Python中,创建新列表的最佳方法是什么,其列表的项目与其他列表的项目相同,但顺序相反?(我不想修改现有的列表.)
这是我遇到的一个解决方案:
new_list = list(reversed(old_list))
Run Code Online (Sandbox Code Playgroud)
也可以复制old_list
然后反复复制到位:
new_list = list(old_list) # or `new_list = old_list[:]`
new_list.reverse()
Run Code Online (Sandbox Code Playgroud)
有没有更好的选择我忽略了?如果没有,是否有令人信服的理由(如效率)使用上述方法之一而不是另一种?
我有两个列表,第一个列表保证只包含一个列表而不是第二个列表.我想知道创建一个新列表的最Pythonic方法,其中偶数索引值来自第一个列表,其奇数索引值来自第二个列表.
# example inputs
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
# desired output
['f', 'hello', 'o', 'world', 'o']
Run Code Online (Sandbox Code Playgroud)
这有效,但并不漂亮:
list3 = []
while True:
try:
list3.append(list1.pop(0))
list3.append(list2.pop(0))
except IndexError:
break
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标呢?什么是最Pythonic方法?
我在urls.py中有以下正则表达式,我想知道这意味着什么.特别(?P<category_slug>
是正则表达式的一部分.
r'^category/(?P<category_slug>[-\w]+)/$
以下情况不时出现......
我
git checkout -b experiment
,提交一些实验性更改,并打开拉取请求.经过一番讨论后,拉取请求被拒绝.
如果我现在要删除远程分支,这会在某些时候渲染差异不可访问,或者GitHub是否确保拉出请求中出现的提交不会被垃圾收集,即使它们没有出现在任何分支上?
我想删除死分支,但只有这样做不会减少被拒绝的拉取请求的历史价值.
从Ruby 1.9开始,哈希保留了非常酷的插入顺序.我想知道访问最后一个键值对的最佳方法.
我写了一些代码来做到这一点:
hash.values.last
Run Code Online (Sandbox Code Playgroud)
这很容易理解,但也许可以直接访问最后一个值,而不是通过中介(值数组).是吗?
我在HTML文档中有一些代码.代码本身并不重要 - 我使用了lorem ipsum来清楚地说明这一点.
<pre><code>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed sit amet diam sit amet sem accumsan faucibus ac in arcu.
Quisque varius, erat vel euismod ornare, libero orci laoreet velit, at lobortis sem nisl et eros.</code></pre>
Run Code Online (Sandbox Code Playgroud)
我已经应用于white-space: pre-wrap
代码块以强制长行包装.我想知道是否有可能缩进包裹线的包裹部分,给出这样的东西:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed sit amet diam sit amet sem accumsan faucibus ac in arcu.
Quisque varius, erat vel euismod ornare, libero orci laoreet velit,
at lobortis sem nisl et eros.
Run Code Online (Sandbox Code Playgroud) array.include? 'foo' or array.include? 'bar'
Run Code Online (Sandbox Code Playgroud)
是语法错误(意外的keyword_or).圆括号解决了这个问题,但由于我是Ruby的新手,我不知道以下哪一个被认为是更惯用的:
array.include?('foo') or array.include?('bar')
Run Code Online (Sandbox Code Playgroud)
(array.include? 'foo') or (array.include? 'bar')
Run Code Online (Sandbox Code Playgroud)
这取决于个人偏好,还是一种被认为更"正确"的方法?
python ×4
ruby ×3
django ×2
branch ×1
css ×1
datetime ×1
django-orm ×1
git ×1
github ×1
hash ×1
html-lists ×1
idiomatic ×1
idioms ×1
key-value ×1
parentheses ×1
postgresql ×1
regex ×1
reverse ×1
sql ×1
typechecking ×1