小编Ang*_*ela的帖子

Python pytz将时间戳(字符串格式)从一个时区转换为另一个时区

我有一个带有字符串格式的时区信息的时间戳,我想将其转换为使用我的本地时区显示正确的日期/时间.所以对于例如......我有

timestamp1 = 2011-08-24 13:39:00 +0800
Run Code Online (Sandbox Code Playgroud)

我想将此转换为时区偏移+1000到dsiplay

timestamp2 = 2011-08-24 15:39:00 +1000
Run Code Online (Sandbox Code Playgroud)

我尝试过使用pytz但是找不到很多显示如何使用偏移信息的例子.我对计算器展示了这个确切的问题找到一个其他的链接是这里.我希望有一些更好的方法可以使用pytz处理这个问题.感谢提前的所有建议:).

UPDATE

谢谢Cixate.我刚刚找到了与你的解决方案非常相似的解决方案.发现这些链接很有用 - LINK1LINK2

为每个人发布解决方案都会带来好处

from datetime import datetime
import sys, os
import pytz
from dateutil.parser import parse

datestr = "2011-09-09 13:20:00 +0800"
dt = parse(datestr)
print dt
localtime = dt.astimezone (pytz.timezone('Australia/Melbourne'))
print localtime.strftime ("%Y-%m-%d %H:%M:%S")
2011-09-09 15:20:00
Run Code Online (Sandbox Code Playgroud)

python timezone timestamp pytz

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

如何在django中将错误消息附加到form.non_field_errors?

我有一个有几个领域的表格.我通过表单验证对每个字段进行单独的验证检查.但是,在将用户重定向到不同视图之前,我还需要检查是否填写了少量字段.我希望我能以某种方式将错误附加到forms.non_field_errors,因为它不适用于特定字段,但我不确定这是什么正确的语法.我在网上查了一下,发现..

form.errors['__all__'] = form.error_class(["error msg"])
Run Code Online (Sandbox Code Playgroud)

这会显示错误消息,但它似乎也会弄乱其他页面,如果我点击其他任何内容,则会显示错误消息.

我试过了

form._errors[NON_FIELD_ERRORS] = form.error_class()
Run Code Online (Sandbox Code Playgroud)

这导致'NoneType'对象没有属性'setdefault'错误.

我试过了

form.non_field_errors().append("Please complete your profile in order to access the content.")
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情,我无法在视图上看到错误消息.

最好的方法是什么?理想情况下,我不想在表单的干净方法中这样做.我觉得我应该能够在视图中向表单添加错误.

python django django-forms

9
推荐指数
2
解决办法
9740
查看次数

matplotlib如何从轴原点开始留下空格

我需要将日期的非数字数据绘制为简单的折线图.我正在使用matplotlib.

这是一些示例代码.

import matplotlib.pyplot as plt

xticks=['Jan','Feb','Mar','April','May']
x=[1,2,3,4,5]
yticks = ['Windy', 'Sunny', 'Rainy', 'Cloudy', 'Snowy']
y=[2,1,3,5,4]

plt.plot(x,y,'bo') #.2,.1,.7,.8
plt.subplots_adjust(left =0.2)

plt.xticks(x,xticks)
plt.yticks(y,yticks)
plt.show()
Run Code Online (Sandbox Code Playgroud)

从代码生成的图表

我想开始刻度标签,从原点留下一些空间.这样他们看起来不会很挤.我应该使用Fixedlocator吗?此外,我希望图表是一个显示每个点标记的线,如例所示.我怎样才能做到这一点?

python axis matplotlib

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

python多处理 - 初始化/传递数据库连接以跨进程使用的最佳方法

我在使用Python多处理包中的pool.map传递数据库连接对象或游标对象时遇到了一些困难.基本上,我想创建一个工作池,每个工作池都有自己的状态和数据库连接,这样它们就可以并行执行查询.

我尝试过这些方法,但是我在python中得到了一个picklingerror -

游泳池地图与2个arugements

使用Initializer设置多进程池

第二个链接正是我需要做的,这意味着我希望每个进程在启动时打开数据库连接,然后使用该连接来处理传入的数据/ args.

这是我的代码.

import multiprocessing as mp

def process_data((id,db)):
  print 'in processdata'
  cursor = db.cursor()
  query = ....
  #cursor.execute(query)
  #....
  .....
  .....
  return row

`if __name__ == '__main__':

  db = getConnection() 
  cursor = db.cursor() 
  print 'Initialised db connection and cursor'
  inputs = [1,2,3,4,5]
  pool = mp.Pool(processes=2)
  result_list = pool.map(process_data,zip(inputs,repeat(db)))
  #print result_list
  pool.close()
  pool.join() 
Run Code Online (Sandbox Code Playgroud)

`

这会导致以下错误 -

`Exception in thread Thread-1:
  Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.6/threading.py", line …
Run Code Online (Sandbox Code Playgroud)

python database pool initializer multiprocessing

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