小编jme*_*etz的帖子

Python中的夏令时

我正在编写一个程序,它可以处理很多时区并将它们交叉.我最常处理的两件事是从"now"创建一个datetime对象,然后本地化一个天真的datetime对象.

要在太平洋时区创建一个日期时间对象,我目前正在这样做(python 2.7.2+)

from datetime import datetime
import pytz
la = pytz.timezone("America/Los_Angeles")
now = datetime.now(la)
Run Code Online (Sandbox Code Playgroud)

对于夏令时,这是正确的吗?如果没有,我想我应该这样做:

now2 = la.localize(datetime.now())
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么?任何人都可以告诉我第一个错误的情况,秒是对的?

至于我的秒问题,假设我在加利福尼亚州洛杉矶上午8:00的某个用户输入中有一个天真的日期和时间.是这样制作日期时间的正确方法:

la.localize(datetime(2012, 9, 1, 8, 0))
Run Code Online (Sandbox Code Playgroud)

如果没有,我应该如何构建这些日期时间?

python datetime pytz dst

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

使用django + nginx + flup时,print语句写在哪里?

我正在尝试调试我的django应用程序,但是这很困难,因为我不知道我的打印语句在哪里发送它们的输出。我在django和nginx中使用flup和fastcgi,可以看到python错误并通过nginx访问日志,但是我不知道我的打印语句在哪里。

这是我的nginx.conf文件中的相关内容:

server {
    listen 80;
    server_name localhost;
    access_log /var/log/nginx/demo.access.log;
    error_log /var/log/nginx/demo.error.log;

    location / {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9001;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令运行fastcgi:

python manage.py runfcgi host=127.0.0.1 port=9001
Run Code Online (Sandbox Code Playgroud)

我基本上遵循了本教程https://code.djangoproject.com/wiki/DjangoAndNginx,我的操作系统是ubuntu!

谢谢您的帮助!

django fastcgi nginx flup

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

Django线程和测试

我有一个多线程的django应用程序,它在单独的线程中创建一些对象,以便更快地返回.创建的对象仅用于跟踪用户已完成的操作,并且不以任何方式对时间敏感.

视图函数看起来像这样:

def foo(request):
    #... do important computation...
    bar(x, y, z)
    return HttpResponse()
Run Code Online (Sandbox Code Playgroud)

一切都运行正常,但当我改变它看起来像这样并使用线程:

def foo(request):
    #... do important computation...
    thread = Thread(target=bar, args=(x, y, z))
    thread.start()
    if testing_mode:
        thread.join()
    return HttpResponse()
Run Code Online (Sandbox Code Playgroud)

第二个版本失败了.这都是使用TransactionTestCase和mySQL 完成的.

有任何想法吗?

database django multithreading unit-testing

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

django HttpResponse和unicode

我正在使用django作为webapp的后端.我通过django发送json数据,它运行良好.然而,最近我开始处理非ascii数据,并注意到非ascii字符的一些不寻常的行为.在我的webapp中,我的代码如下所示:

def make_json():
  json_string = u{"start_location" : "5802 W 71st St Indianapolis? Indiana? 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}
  return HttpResponse(json_string, content_type='application/json')
Run Code Online (Sandbox Code Playgroud)

Django对它没有任何问题,但是当我在浏览器(chrome)中查看它时,我看到的是:

{"start_location" : "5802 W 71st St Indianapolis‎ Indiana‎ 46278 United States", "lat" : 39.8819269, "lng" : -86.2631006, "timezone" : "America/Indiana/Indianapolis"}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了吗?我已经尝试将unicode对象编码为utf-8,然后将其提供给HttpResponse(),但它不会改变任何东西.

感谢您的帮助!

django unicode json non-ascii-characters

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

Python字符串编码和==

我在使用python中的字符串时遇到了一些问题,而==我认为它们应该是这样,而且我认为它与编码方式有关.基本上,我解析了存储在zip存档中的一些以逗号分隔的值(特别是GTFS提要,对于那些好奇的人).

我在python中使用ZipFile模块打开zip存档的某些文件,然后将其中的文本与一些已知值进行比较.这是一个示例文件:

agency_id,agency_name,agency_url,agency_phone,agency_timezone,agency_lang
ARLC,Arlington Transit,http://www.arlingtontransit.com,703-228-7433,America/New_York,en
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码是尝试在文本的第一行中识别字符串"agency_id"的位置,以便我可以在任何后续行中使用相应的值.这是代码的片段:

zipped_feed = ZipFile(feed_name, "r")
agency_file = zipped_feed.open("agency.txt", "r")

line_num = 0
agencyline = agency_file.readline()
while agencyline:
    if line_num == 0:
        # this is the header, all we care about is the agency_id
        lineparts = agencyline.split(",")
        position = -1
        counter = 0
        for part in lineparts:
            part = part.strip()
            if part == "agency_id":
                position = counter              
        counter += 1
        line_num += 1
        agencyline = agency_file.readline()
    else:
        .....
Run Code Online (Sandbox Code Playgroud)

此代码适用于某些zip存档,但不适用于其他zip存档.我做了一些研究,并尝试打印repr(部分),我得到'\ xef\xbb\xbfagency_id'而不是'agency_id'.有谁知道这里发生了什么以及我如何解决它?感谢您的帮助!

python string utf-8

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