小编Eri*_*itt的帖子

写(2)是否总是写入小于或等于SSIZE_MAX?

函数签名write(2)ssize_t write(int fd, const void *buf, size_t count).通常,最大值size_t大于ssize_t.这是否意味着write实际写入的数据量实际上是SSIZE_MAX代替SIZE_MAX?如果不是这种情况,当写入的字节数大于SSIZE_MAX溢出时会发生什么?

我基本上想知道写入的数据量write是否受限于SSIZE_MAXSIZE_MAX.

c posix

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

SQLAlchemy对MySQLdb的目的

为什么人们使用SQLAlchemy而不是MySQLdb?它提供了哪些优势?

python mysql sql sqlalchemy

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

使decimal.Decimal成为Python中的默认数值类型

有什么方法可以生成decimal.Decimal是Python中所有数值的默认类型吗?我希望能够以类似于bc和dc程序的方式使用Python,而不必为每个数字调用decimal.Decimal(...).

编辑:对于没有经验的人:bc.

编辑2:谢谢你的标记模块..

python interpreter decimal bc dc

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

使Python响应Windows时区更改

当Python在Windows下运行时,如果在Python实例的生命周期内更改时区,则time.localtime不会报告正确的时间.在Linux下,总是可以运行time.tzset来缓解这样的问题,但在Windows中似乎没有等效的.

有没有办法解决这个问题而不做一些荒谬的事情,哦,我不知道......

#!/bin/env python
real_localtime = eval(subprocess.Popen(
    ["python","-c", "import time;repr(time.localtime())"],
    stdout=subprocess.PIPE).communicate()[0])
Run Code Online (Sandbox Code Playgroud)

python windows time timezone localtime

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

处理Python线程中的信号

我有一个用Python编写的线程应用程序,每当通过Ctrl+C或有时使用kill 接收到中断时,应用程序将挂起.从一个线程呈现堆栈跟踪,但应用程序仍保留在前台,我通常必须使用Ctrl+Z对其进行后台处理,然后尝试将其删除.

在线程应用程序中处理信号和键盘中断的正确方法是什么?

python multithreading signals interrupt

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

Python subprocess.Popen作为Windows上的不同用户

在Windows上以Python的形式启动子进程作为不同用户的最佳方式是什么?最好是XP及以上,但如果它仅适用于Vista和7,我也可以忍受.

python windows subprocess runas

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

展开PHP堆栈跟踪参数

在开发中的PHP应用程序返回的堆栈跟踪上,在错误页面上显示时,函数的长字符串参数将被截断:

Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO "tb...', Array)
Run Code Online (Sandbox Code Playgroud)

如何展开查询参数以使全文可见?服务器正在运行PHP 5.3.3.

php arguments stack-trace

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

Perl内存使用与地图和文件句柄

map { function($_) } <FILEHANDLE>;使用perl时调用是否将整个文件加载到内存中?

perl memory-management file map filehandle

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

如何使用 os.posix_fadvise 防止 Linux 上的文件缓存?

我有一个通常在整个块设备上运行的脚本,如果读取的每个块都被缓存,它将驱逐其他应用程序正在使用的数据。为了防止这种情况发生,我添加了对使用mmap(2)posix_fadvise(2) 的支持,逻辑如下:

指示不再需要块的函数:

def advise_dont_need(fd, offset, length):
    """
    Announce that data in a particular location is no longer needed.

    Arguments:
    - fd (int): File descriptor.
    - offset (int): Beginning of the unneeded data.
    - length (int): Length of the unneeded data.
    """
    # TODO: macOS support
    if hasattr(os, "posix_fadvise"):
        # posix_fadvise(2) states that "If the application requires that data
        # be considered for discarding, then offset and len must be
        # page-aligned." When this code aligns …
Run Code Online (Sandbox Code Playgroud)

python linux posix mmap

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

PHP中的约束编程

PHP有任何约束编程库吗?东西会能够处理类似的情况这样.

php business-rules constraint-programming

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

Python Ctypes Null终止字符串块

我正在使用CreateProcessWithLogonW的ctypes实现,一切正常,但我无法弄清楚如何处理这一部分:

指向新进程的环境块的指针.如果此参数为NULL,则新进程使用调用进程的环境.

环境块由以null结尾的以null结尾的字符串块组成.每个字符串采用以下形式:

名=值\ 0

要生成原始字符串,我执行以下操作:

lpEnvironment = '\0'.join(['%s=%s' % (k, os.environ[k]) for k in os.environ]) + '\0\0'
print lpEnvironment
'XAUTHORITY=/home/username/.Xauthority\x00MUTT_DIR=/home/username/.mutt\x00LASTDIRFILE=/home/username/.lastpwd-geany\x00LOGNAME=username\...\x00\x00'
Run Code Online (Sandbox Code Playgroud)

然而,我运行了一个ctypes变量,它截断了信息:

ctypes.c_wchar_p(lpEnvironment)
c_wchar_p(u'XAUTHORITY=/home/username/.Xauthority')
Run Code Online (Sandbox Code Playgroud)

如何正确传递lpEnvironment信息?

python ctypes

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

Python 2.x与Python 3.x中的BufferedReader

我有一个在Python 2和Python 3中运行的程序,但速度有很大差异.我理解在交换机中进行了一些内部更改,但io.BufferedReader的差异非常大.在这两个版本中,我都使用io.BufferedReader,因为主程序循环一次只需要一个字节的数据.以下是脚本的cProfile输出的摘录(请参阅cumtime,而不是tottime):

Python 2:
 ncalls  tottime  percall  cumtime  percall filename:lineno(function)
 36984   0.188    0.000    0.545    0.000   io.py:929(read)

Python 3:
 36996    0.063   0.000    0.063    0.000   {method 'read' of '_io.BufferedReader' objects}
Run Code Online (Sandbox Code Playgroud)

当我打印对象时,两者都返回类似的东西io.BufferedReader,我确信它们都使用BufferedReader.

是有问题的代码.见第28行.调用者负责设置bufstream.我用了bufstream = io.open('testfile', 'rb')

为什么BufferedReader的速度在读取文件中的单个字节方面存在如此巨大的差异,以及如何"修复"Python 2.x的问题?我正在运行Python 2.6和Python 3.1.

python performance bufferedreader python-3.x

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