小编dav*_*ave的帖子

将十六进制字符串拆分为Python中的列表 - 如何?

如果我有这个字符串:

hexstring = '001122334455'
Run Code Online (Sandbox Code Playgroud)

如何将其拆分为一个列表,结果如下:

hexlist = ['00','11','22','33','44','55']

我想不出一个好的,pythonic方式来做到这一点:/

python string

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

我应该使用Pylon's Paste来托管我的Pylons网站吗?或者我可以使用Apache吗?

我正在调查Pylons并且想知道,我应该使用Paste作为网络服务器还是我可以使用Apache?

使用粘贴有什么好处?
你会建议不要使用Apache吗?

我该如何托管这些网站?

python pylons web-services

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

当存在未知的数据量时,将表单数据放入数据库的最佳方法是什么?

我有一个非常大的表单,包括单选按钮/复选框以及文本输入.由于复选框的性质,如果他们发布表单而不检查它,它不会在POST数据中发送.这使我对如何处理它有点困惑.

我最初使用标准的"每个字段列"启动了我的数据库.例如:

id | userid | firstname | lastname | middlename | phonenumber | mobilenumber |
Run Code Online (Sandbox Code Playgroud)

当我最终拥有超过30列时,这很快就改变了.这种形式是巨大的.我已经决定使用'EAV架构'给我的表只有4行.它现在看起来像这样:

id | userid | name      | value
---+--------+-----------+------
 1 |    1   | firstname | steve
---+--------+-----------+------
 2 |    1   | lastname  | blah
Run Code Online (Sandbox Code Playgroud)

这似乎是一种更好的方法.

所以我的问题是,当我不完全确定它的内容时,我应该如何处理数据库呢?如果我有20个复选框(每个都有自己的名字),我应该手动检查每个复选框是否已提交,如果没有,则设置'null'值?

我是否应该从表中清空用户ID的所有行并将其替换为所有新数据?

这样做的有效方法是什么?

html database forms

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

我应该如何处理一对多关系数据库模式中的数据更新?

假设我有一个类似于以下的数据库:

Table: People

id | name | age
---+------+-----
 1 | dave | 78

Table: Likes

id | userid | like
---+--------+-------
 1 |    1   | apples
---+--------+-------
 2 |    1   | oranges
---+--------+-------
 3 |    1   | women
Run Code Online (Sandbox Code Playgroud)

处理更新daves数据的最佳方法是什么?目前,我执行以下操作:

Update his age
UPDATE People SET age = 79 WHERE id = 1;

Update his likes
DELETE FROM Likes WHERE userid = 1;
INSERT INTO LIKES (userid, like) VALUES (1, 'new like');
INSERT INTO LIKES (userid, like) VALUES …
Run Code Online (Sandbox Code Playgroud)

sql database one-to-many

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

在Javascript中实现upvote/downvote系统但无法正确计算数学

var $arrow       = $(this);
var $sibling     = $arrow.siblings('span.arrow');
var $score       = $arrow.siblings('span.score');

var vote         = $arrow.hasClass('up') ? 'up' : 'down';
var alreadyVoted = $sibling.hasClass('voted');

if (!USER_LOGGED_IN)
{
    alert('You must be logged into vote');
}
else if (!$arrow.hasClass('voted'))
{
    if (alreadyVoted)
        $sibling.removeClass('voted');

    $arrow.addClass('voted');
    $score[0].innerHTML = parseInt($score[0].innerHTML) + ((vote == 'up') ? 1 : -1);
}
Run Code Online (Sandbox Code Playgroud)

我有一个upvote和downvote按钮.这些按钮旁边会显示"当前得分",我希望在投票时增加/减少.

例如,如果他们加载页面并看到分数是200.当他们投票时,分数将变为201.当他们downvote时,分数需要改为199.为什么?因为如果他们在上升后投票(改变他们的想法),那么投票需要从原来的得分开始.不是他们通过upvotting创建的新分数.

基本上,如果他们赞成然后投票,那么目前的分数会回到原来的分数.他们的投票不是投票.

我在制作这项工作时遇到了麻烦,所以他们投了票......

javascript jquery vote

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

使用OpenCV在Python中捕获网络摄像头流 - 需要帮助

我在Arch Linux上运行Python2.7.我通过Pacman安装了OpenCV.

我正在使用的Python代码是:

import cv

capture = cv.CaptureFromCAM(0)
Run Code Online (Sandbox Code Playgroud)

非常简单.我现在要做的就是让Python访问我的网络摄像头.但上面的代码输出:

[user@host python]$ python2.7 webcam.py 
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Run Code Online (Sandbox Code Playgroud)

我的网络摄像头适用于Cheese(linux网络摄像头程序).因此,可以推测,不应该有任何驱动程序/模块问题......

有任何想法吗?

python linux webcam opencv

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

如果第一次失败,如何让Pika重新连接到RabbitMQ?

我正在尝试让我的程序使用Pika,在失败时不断重试连接到RabbitMQ.从我所见过的鼠兔文档的,还有可以用来accompish这个SimpleReconnectionStrategy类,但它似乎并没有被工作得很好.

strategy        = pika.SimpleReconnectionStrategy()
parameters      = pika.ConnectionParameters(server)

self.connection = pika.AsyncoreConnection(parameters, True, strategy)
self.channel    = self.connection.channel()
Run Code Online (Sandbox Code Playgroud)

连接应该wait_for_open并设置重新连接策略.

但是,当我运行它时,我会抛出以下错误:

error: uncaptured python exception, closing channel <pika.asyncore_adapter.RabbitDispatcher at 0xb6ba040c> (<class 'socket.error'>:[Errno 111] Connection refused [/usr/lib/python2.7/asyncore.py|read|79] [/usr/lib/python2.7/asyncore.py|handle_read_event|435] [/usr/lib/python2.7/asyncore.py|handle_connect_event|443])
error: uncaptured python exception, closing channel <pika.asyncore_adapter.RabbitDispatcher at 0xb6ba060c> (<class 'socket.error'>:[Errno 111] Connection refused [/usr/lib/python2.7/asyncore.py|read|79] [/usr/lib/python2.7/asyncore.py|handle_read_event|435] [/usr/lib/python2.7/asyncore.py|handle_connect_event|443])
Run Code Online (Sandbox Code Playgroud)

当Pika试图连接时,这些错误不断被抛出.如果我在客户端运行时启动RabbitMQ服务器,它将连接.我只是不喜欢看到这些错误......它们是正常的吗?我做错了吗?

python amqp rabbitmq

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

需要帮助构建SQLAlchemy查询+子查询

这是我需要SQLAlchemy通过其ORM生成的SQL.

SELECT
    *
FROM
    notes
WHERE
    notes.student_id == {student_id} 
  OR
    notes.student_id IN (
        SELECT
            *
        FROM
            peers
        WHERE
            peers.student_id == {student_id}
          AND
            peers.date_peer_saved >= notes.date_note_saved
    )
Run Code Online (Sandbox Code Playgroud)

SQL未经测试.我只是写它来演示我需要SQLAlchemy做什么.

基本上,登录的学生应该看到已保存的列表notes.notes然而,唯一的学生应该看到的是那些由他们自己发布的或者由他们的同伴发布的那些 - 但只有那些同意他们在说明被保存之后'结识'.

这样,学生在成为同伴之前就不会看到其他学生发布的笔记.

但是,我无法在SQLAlchemy的ORM中运行它.有帮助吗?

python sql sqlalchemy subquery

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

我的Python for循环导致MemoryError.我该如何优化呢?

我正在尝试编译Apple设备将拥有的所有MAC地址的列表.oui.txt告诉我Apple已经分配了77个MAC范围.这些范围的形式为:

00:00:00
00:11:11
etc...
Run Code Online (Sandbox Code Playgroud)

这留给我追加的最后三个HEX数字.那是16^6.共有1291845632个Apple MAC地址.

我遇到的问题是编写一个程序来创建这些MAC地址的列表.这是我目前的代码:

import re

apple_mac_range = []
apple_macs      = []

# Parse the HTML of http://standards.ieee.org/cgi-bin/ouisearch to get the MACs
with open('apple mac list', 'r') as f:
    for line in f.readlines():

        match = re.search(r'[\w\d]{2}-[\w\d]{2}-[\w\d]{2}', line)

        if match:
            apple_mac_range.append(match.group().split('-'))

for mac in apple_mac_range:
    for i in range(1, 1291845633):
        print i
Run Code Online (Sandbox Code Playgroud)

这给了我一个MemoryError......我怎样才能优化它?

python memory optimization out-of-memory

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

如何将URL的"id"部分传递给view_callable?

我最近一直在玩金字塔,而且从Pylons背景来看,我一直专注于URL路由而不是遍历.

我一直在寻找使用处理程序将"控制器"特定功能组合到一个类中.而不是让view.py被一堆函数污染.

配置:

config.add_handler('view_page', '/page/view/{id}', handler=Page, action=view_page)
Run Code Online (Sandbox Code Playgroud)

处理器:

from pyramid.response import Response
from pyramid.view import action

class Page(object):

    def __init__(self, request):
        self.request = request

    def view_page(self):
        return {'id': id}
Run Code Online (Sandbox Code Playgroud)

我今天早些时候正在阅读有关在add_handler()调用中隐式声明操作的文档,这可能是错误的......但是,我的主要问题是访问idview_callable中的内容

我怎么得'id'?

python pylons pyramid

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