小编Ian*_*Ian的帖子

mod_wsgi强制重装模块

有没有办法让mod_wsgi在每次加载时重新加载所有模块(可能在特定目录中)?

在处理代码时,每次更改某些内容时重启apache都会非常烦人.到目前为止,我发现的唯一选择是放在modname = reload(modname)每个导入下面..但这也很烦人,因为这意味着我将不得不在以后删除它们.

python mod-wsgi module reload

13
推荐指数
3
解决办法
8222
查看次数

Python - BaseHTTPServer.HTTPServer并发和线程

有没有办法使BaseHTTPServer.HTTPServer像SocketServer.ThreadingTCPServer一样多线程?

python multithreading basehttpserver httpserver socketserver

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

PHP Multi Byte str_replace?

我正在尝试在PHP中进行重音字符替换但得到时髦的结果,我的猜测是因为我使用UTF-8字符串并且str_replace无法正确处理多字节字符串..

$accents_search     = array('á','à','â','ã','ª','ä','å','Á','À','Â','Ã','Ä','é','è',
'ê','ë','É','È','Ê','Ë','í','ì','î','ï','Í','Ì','Î','Ï','œ','ò','ó','ô','õ','º','ø',
'Ø','Ó','Ò','Ô','Õ','ú','ù','û','Ú','Ù','Û','ç','Ç','Ñ','ñ'); 

$accents_replace    = array('a','a','a','a','a','a','a','A','A','A','A','A','e','e',
'e','e','E','E','E','E','i','i','i','i','I','I','I','I','oe','o','o','o','o','o','o',
'O','O','O','O','O','u','u','u','U','U','U','c','C','N','n'); 

$str = str_replace($accents_search, $accents_replace, $str);
Run Code Online (Sandbox Code Playgroud)

结果我得到:

Ørjan Nilsen -> ?orjan Nilsen
Run Code Online (Sandbox Code Playgroud)

预期结果:

Ørjan Nilsen -> Orjan Nilsen
Run Code Online (Sandbox Code Playgroud)

编辑:我的内部字符处理程序设置为UTF-8(根据mb_internal_encoding()),$ str的值也是UTF-8,所以从我所知,所涉及的所有字符串都是UTF-8.str_replace()是否检测到char集并正确使用它们?

php string replace multibyte-functions

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

psycopg2"TypeError:在字符串格式化期间不是所有参数都被转换"

我正在尝试将二进制数据(漩涡哈希)插入到PG表中并收到错误:

TypeError: not all arguments converted during string formatting 
Run Code Online (Sandbox Code Playgroud)

码:

cur.execute("""
    INSERT INTO
        sessions
        (identity_hash, posted_on)
    VALUES
        (%s, NOW())
""", identity_hash) 
Run Code Online (Sandbox Code Playgroud)

我尝试在插入之前将conn.Binary("identity_hash")添加到变量,但得到相同的错误.

identity_hash列是bytea.

有任何想法吗?

python postgresql psycopg2

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

Python - 线程和一个真正的循环

我有一个线程将行追加到self.output和一个循环,直到self.done为True(或达到最大执行时间).

除了使用不断检查以查看是否已完成的while循环之外,是否有更有效的方法来执行此操作.while循环导致CPU在运行时加速到100%.

time.clock()
while True:

    if len(self.output):
        yield self.output.pop(0)

    elif self.done or 15 < time.clock():
        if 15 < time.clock():
            yield "Maximum Execution Time Exceeded %s seconds" % time.clock()
        break
Run Code Online (Sandbox Code Playgroud)

python multithreading loops

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

Python超时

我一直在寻找一个好的超时脚本,它可以杀死一个线程,如果它已经活动了超过X秒,但我看到的所有例子都有缺陷,并不总是停止线程.使用thread.join(x)最终会破坏它作为一个线程的目的.

我发现的唯一体面的例子就是在函数调用上超时,并且不是没有它的缺陷.

有人知道更好的方法吗?

python multithreading timeout

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

PostgreSQL + PHP + UTF8 =用于编码的无效字节序列

我正在将数据库从mysql迁移到postgresql.mysql db的默认排序规则是UTF8,postgres也使用UTF8,我用pg_escape_string()编码数据.无论出于何种原因,我遇到了一些关于错误编码的时髦错误:

pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xeb7374 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client"

我一直在试图解决这个问题,并注意到php正在做一些奇怪的事情; 如果一个字符串中只包含ascii字符(例如"hello"),则编码为ASCII.如果字符串包含任何非ascii字符,则表示编码为UTF8(例如"Hëllo").

当我在已经是UTF8的字符串上使用utf8_encode()时,它会杀死特殊字符并使它们全部混乱,所以......我能做些什么才能使它工作?

(现在把它挂起的确切字符是" ",但不是只搜索/替换,我想找到一个更好的解决方案,所以这个问题不再发生)

php postgresql encoding utf-8

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

Custom Environment Variables in PHP

有没有办法设置自定义变量,例如environment_name在我的apache vhost文件中,可以通过$_ENV或读取ini_get("environment_name")

php apache variables environment

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

PDO准备语句 - NULL

我有一个删除查询,我正在运行,但只是意识到这$user_id是无效的时候为null(在某些情况下会发生).

$id = 1;
$user_id = null;
$delete = $sql->prepare("
    DELETE FROM
        `game_player`
    WHERE
        `id` = ?
    AND
        `user_id` = ?
");
if ($delete->execute(array(
    $id,
    $user_id,
));
Run Code Online (Sandbox Code Playgroud)

有什么工作除了在值为null时有不同的查询,因为显然唯一的方法是让where工作正常user_id IS NULL而不是user_id = NULL...

php sql null pdo

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

Python sock.listen(...)

sock.listen(5)在python文档中看到的所有示例都建议我将最大积压数设置为5.这导致我的应用程序出现问题,因为我期待一些非常高的音量(许多并发连接).我将它设置为200并且在我的系统上没有看到任何问题,但是想知道在它导致问题之前我能设置多高.

谁知道?

编辑:这是我的accept()循环.

while True:    
    try:
        self.q.put(sock.accept())
    except KeyboardInterrupt:
        break
    except Exception, e:
        self.log("ERR %s" % e)
Run Code Online (Sandbox Code Playgroud)

python sockets concurrency multithreading

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