小编use*_*627的帖子

如何获取系统时区设置并将其传递给pytz.timezone?

我们可以使用time.tzname获取本地时区名称,但该名称与之不兼容pytz.timezone.

实际上,返回的名称time.tzname含糊不清.此方法('CST', 'CST')在我的系统中返回,但"CST"可以指示四个时区:

  • 中部时区(北美) - 在北美的中部时区观察
  • 中国标准时间
  • 中原标准时间 - "中原标准时间"一词现在在台湾很少使用
  • 澳大利亚中央标准时间(ACST)

python timezone pytz

51
推荐指数
4
解决办法
6万
查看次数

如何使用多个键有效地执行"distinct"?

例如,有一个这样的集合:

{market:'SH',代码:'000001',日期:'2012-01-01',价格:1000}
{market:'SZ',代码:'000001',日期:'2012-01-01',价格:1000}
{市场:'SH',代码:'000001',日期:'2012-01-02',价格:1000}
{市场:'SZ',代码:'000001',日期:'2012-01 -02',价格:1000}
{市场:'SH',代码:'000002',日期:'2012-01-03',价格:1000}
...

该集合包含数千万个文档.

我想用两个键调用distinct:

collection.distinct('market', 'code');
Run Code Online (Sandbox Code Playgroud)

得到结果:

[{market:'SH',代码:'000001'},{market:'SZ',代码:'000001'},{market:'SH',代码:'000002'}]

由于本机distinct命令只接受一个键,我尝试使用map-reduce来实现它.但是map-reduce对于原生的不同来说太慢了.在我的一键独特测试中,map-reduce花费的时间比原生的不同大十倍.
有没有一种有效的方法来实现multikey distinct?

mongodb

45
推荐指数
1
解决办法
4万
查看次数

如何在Python中实现可订阅类(可订阅类,而不是可订阅对象)?

要实现可订阅对象很简单,只需__getitem__在此对象的类定义中实现即可.
但是现在我想实现一个可订阅的类.例如,我想实现此代码:

class Fruit(object):
    Apple = 0
    Pear = 1
    Banana = 2
    #________________________________ 
    #/ Some other definitions,         \
    #\ make class 'Fruit' subscriptable. /
    # -------------------------------- 
    #        \   ^__^
    #         \  (oo)\_______
    #            (__)\       )\/\
    #                ||----w |
    #                ||     ||

print Fruit['Apple'], Fruit['Banana']
#Output: 0 2
Run Code Online (Sandbox Code Playgroud)

我知道getattr可以做同样的事情,但我觉得下标访问更优雅.

python

24
推荐指数
4
解决办法
1万
查看次数

为什么此代码会导致"EXC_BAD_INSTRUCTION"?

dispatch_semaphore_t aSemaphore = dispatch_semaphore_create(1);        
dispatch_semaphore_wait(aSemaphore, DISPATCH_TIME_FOREVER);
dispatch_release(aSemaphore);
Run Code Online (Sandbox Code Playgroud)

当程序运行到dispatch_release(aSemaphore)时,它将导致"EXC_BAD_INSTRUCTION",然后崩溃.为什么?

iphone grand-central-dispatch ios

21
推荐指数
3
解决办法
1万
查看次数

每种语言最常见的编码是什么?

我正在开发一个纯文本阅读器应用程序.有时app无法自动确定文件的编码,因此用户需要从编码列表中选择编码.如果此列表包含所有支持的编码,则它将太长.我想提供一个简化的列表,只包含每种语言最常见的编码.

这是我所知道的一些关系:

  • 繁体中文:Big5
  • 简体中文:GB18030
  • 日语:Shift-JIS,EUC-JP
  • 俄语:KOI8-R

如果您知道任何其他语言最常见的编码,请告诉我.

encoding character-encoding

19
推荐指数
2
解决办法
2万
查看次数

PYTHONPATH在GNU/Linux上不适用于sudo(适用于root)

编辑:为root工作,sudo是问题.参见下文.

我有一个带有我自己的库的目录,例如我的Python库位于/home/name/lib/py.
我通过将以下行添加到以下行,将此目录添加到Python的所有用户(包括root)的PATH/etc/bash.bashrc:

export PYTHONPATH=$PYTHONPATH:/home/name/lib/py
Run Code Online (Sandbox Code Playgroud)

它适用于所有用户(包括root用户).但它对sudo不起作用.有什么办法可以让sudo使用/etc/bash.bashrc吗?

编辑:更多信息:

我已经添加PYTHONPATH到sudoers文件像这样:Defaults env_keep += "HOME PYTHONPATH".它不会起作用.

env | grep PYTHON:
    PYTHONDONTWRITEBYTECODE=1
    PYTHONPATH=/home/name/lib/py

sudo env | grep PYTHON:
    PYTHONDONTWRITEBYTECODE=1

sudo echo $PYTHONPATH:
    /home/name/lib/py
Run Code Online (Sandbox Code Playgroud)

python linux macos bash pythonpath

17
推荐指数
2
解决办法
2万
查看次数

如何在没有`db.repairDatabase()`的情况下回收已删除的空间?

我想通过回收已删除的空间来缩小数据文件大小,但我无法运行db.repairDatabase(),因为可用磁盘空间不够.

mongodb

12
推荐指数
3
解决办法
4万
查看次数

为什么Math.pow(1,Infinity)会返回NaN?

我一直认为1的任何幂等于1,但Math.pow(1, Infinity)返回NaN.为什么不是1?

javascript

7
推荐指数
1
解决办法
955
查看次数

What does 'depending on rounding' exactly mean?

About random.uniform, docstring says:

Get a random number in the range [a, b) or [a, b] depending on rounding.

But I do not know what does 'depending on rounding' exactly mean.

python random floating-point rounding

7
推荐指数
1
解决办法
210
查看次数

Numpy,为什么`x + = y`产生的结果与`x = x + y`不同?

在这种情况下,为什么会x += y产生不同的结果x = x + y呢?

import numpy as np

x = np.repeat([1], 10)
y = np.random.random(len(x))

x += y
print x
# Output: [1 1 1 1 1 1 1 1 1 1]

x = x + y
print x
# Output: [ 1.50859536  1.31434732  1.15147365  1.76979431  1.64727364
#           1.02372535  1.39335253  1.71878847  1.48823703  1.99458116]
Run Code Online (Sandbox Code Playgroud)

python numpy python-2.7

5
推荐指数
1
解决办法
187
查看次数