小编Kha*_*ino的帖子

为什么datetime为同一时区提供不同的时区格式?

>>> now = datetime.datetime.now(pytz.timezone('Asia/Tokyo'))
>>> dt = datetime(now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond, pytz.timezone('Asia/Tokyo'))
>>> now
datetime.datetime(2018, 9, 7, 16, 9, 24, 177751, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)
>>> dt = datetime(now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond, pytz.timezone('Asia/Tokyo'))
>>> dt
datetime.datetime(2018, 9, 7, 16, 9, 24, 177751, tzinfo=<DstTzInfo 'Asia/Tokyo' LMT+9:19:00 STD>)
Run Code Online (Sandbox Code Playgroud)

因为now我得到了JST + 9:00:00,因为dt我得到了LMT +9:19:00.我不明白为什么datetime使用不同的格式.

当我比较他们不同的时间时:

>>> now == dt
False
Run Code Online (Sandbox Code Playgroud)

我怎么能转换LMTJST,这样now == dt …

python python-datetime

6
推荐指数
1
解决办法
182
查看次数

如何在Python日志配置文件(logging.conf)中添加过滤器

是否可以在日志记录配置文件中添加/使用过滤器?例如,以下代码是否有等效的设置?

import logging

# Set up loggers and handlers.
# ...

    class LevelFilter(logging.Filter):
        def __init__(self, level):
            self.level = level

        def filter(self, record):
            return record.levelno == self.level

    logFileHandler.addFilter(LevelFilter(logging.DEBUG))
Run Code Online (Sandbox Code Playgroud)

用于logging.conf中的处理程序

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=format_01
args=(sys.stdout,)
Run Code Online (Sandbox Code Playgroud)

我们可以像处理程序一样在配置文件(logging.conf)中为上面的Python代码编写日志过滤器吗?(Python代码仅作为示例)

python logging

5
推荐指数
2
解决办法
9109
查看次数

是否可以在Projections,Criteria,Grails中使用聚合函数和属性?

我正在使用Grails Criteria(类似于hibernate标准)来获取给定表中每个部门中获得最高分的学生列表.而我想要的只是Name,DivisionGrade领域.

Name | Division | Grade | Std_id
---------------------------------
AA1  | A        |  2     | 1
AA2  | A        |  4     | 2
BB1  | B        |  2     | 3
BB2  | B        |  5     | 4
Run Code Online (Sandbox Code Playgroud)

我想要的结果是

Name | Division | Grade |
--------------------------
AA2  | A        |  4     |
BB2  | B        |  5     | 
Run Code Online (Sandbox Code Playgroud)

如果我使用以下标准

    def criteria = Student.createCriteria()
    def resultlt = criteria.list {
        projections {
            groupProperty('divison')
            max('grade') …
Run Code Online (Sandbox Code Playgroud)

grails hibernate criteria hibernate-criteria nhibernate-projections

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

通过添加可选参数 elixir 来实现函数 def 冲突

该功能hello没有任何冲突并且工作正常。

defmodule User do
  defstruct [:name]
end

defmodule Greeter do
  def hello(%User{} = user) do
    "Hello #{user.name}"
  end

  def hello(name) do
    "Hello #{name}"
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我向第一个函数添加可选参数,则会出现冲突错误。

...
  def hello(%User{} = user, opts \\ []) do
    "Hello #{user.name}"
  end
...
Run Code Online (Sandbox Code Playgroud)

错误 def hello/1 conflicts with defaults from hello/2

任何人都可以解释为什么以及如何有意义?

elixir default-parameters

2
推荐指数
1
解决办法
319
查看次数