小编sat*_*oru的帖子

如何区分超时错误和Python中的其他`URLError`?

如何URLError在Python中区分超时错误和其他?

编辑

当我抓到一个URLError,它可能是Temporary failure in name resolutiontimeout,或其他一些错误?我怎么能告诉彼此呢?

python http urllib2

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

/ usr / lib / python和/ usr / lib64 / python有什么区别?

我正在使用ubuntu。

我发现/usr/lib/python和都安装了许多Python库/usr/lib64/python

当我print使用模块对象时,模块路径显示该模块位于中/usr/lib/python

那为什么我们需要/usr/lib64/python目录呢?这两个目录有什么区别?

BTW

egg-info这两个目录中的某些软件包管理脚本实际上是指向中的软件包的链接/usr/share

大多数Python模块只是链接,但so文件不是。

python

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

为什么Python中的`object()> 0`为True?

In [32]: object() > 0
Out[32]: True
Run Code Online (Sandbox Code Playgroud)

事实上,它比我尝试过的任何整数都要大.

python

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

如何避免在 Python 中覆盖信号处理程序?

我的实验代码是这样的:

import signal

def hi(signum, frame):
    print "hi"

signal.signal(signal.SIGINT, hi)
signal.signal(signal.SIGINT, signal.SIG_IGN)
Run Code Online (Sandbox Code Playgroud)

hi没有被打印,因为信号处理程序被signal.SIG_IGN.

我怎样才能避免这种情况?

python signals

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

如何按照Python类中声明的顺序获取属性?

PEP435中所述,enum可以通过以下方式定义:

class Color(Enum):
    red = 1
    green = 2
    blue = 3
Run Code Online (Sandbox Code Playgroud)

并将所得enum membersColor可实现高精细的顺序重复:Color.red, Color.green, Color.blue.

这让我想起了FormDjango中,哪些字段可他们在声明的顺序渲染Form子类.他们通过维护字段计数器来实现这一点,每次实例化新字段时计数器值都会增加.

但是在定义中Color,我们没有像a这样的东西,我们FormField怎么能实现呢?

python metaclass

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

How can I know if a client is using prepared statements?

When I use client libraries like MySQLdb or oursql, how can I know if it's using prepared statements or not?

Is there anyway I can tell the difference on the server side? Maybe by looking into some kind of logs?

EDIT: I'm using MySQL5.1

mysql

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

为什么在Python函数中可以使用超过2 ^ 16个常量?

在像peephole这样的内部模块中,参数LOAD_CONST存储在后面的两个字节中opcode.

例如,它用于获取操作参数的宏实现为:

#define GETARG(arr, i) ((int)((arr[i+2]<<8) + arr[i+1]))

参数LOAD_CONSTconsts数组的索引.

所以我猜我们在Python函数中最多只能使用2 ^ 16个常量.

但是当我尝试使用66666(> 65536)常量的函数时,它仍然可以正常运行.

可能是什么原因?

python python-internals

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

为什么 Python 中的 datetime.date.today 比 datetime.datetime.now 慢?

出于好奇,我对这两个函数做了以下基准测试:

In [12]: %timeit datetime.datetime.now()
100000 loops, best of 3: 5.09 µs per loop

In [13]: %timeit datetime.date.today()
100000 loops, best of 3: 6.4 µs per loop
Run Code Online (Sandbox Code Playgroud)

我认为date对象涉及的信息较少,所以它应该是更快的,但事实证明它更慢。

可能是什么原因?

python

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

什么时候chr(ord(c))在Python中不等于c?

我读的源代码testinfraAnsible模块.我找到了以下几行代码:

    # Ansible return an unicode object but this is bytes ...
    # A simple test case is:
    # >>> assert File("/bin/true").content == open("/bin/true").read()
    stdout_bytes = b"".join((chr(ord(c)) for c in out['stdout']))
    stderr_bytes = b"".join((chr(ord(c)) for c in out['stderr']))
Run Code Online (Sandbox Code Playgroud)

它迭代stdout,获取每个字符的整数序数并将其转换回单字符字符串.但重点是什么?

python

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

为什么在编译为字节码时没有优化整数除法?

首先,让我展示一下我做的实验:

In [69]: dis.dis(lambda : 4 / 2 +  1.5 * 2 + (4 - 2))
  1           0 LOAD_CONST               1 (4)
              3 LOAD_CONST               2 (2)
              6 BINARY_DIVIDE       
              7 LOAD_CONST               4 (3.0)
             10 BINARY_ADD          
             11 LOAD_CONST               5 (2)
             14 BINARY_ADD          
             15 RETURN_VALUE 
Run Code Online (Sandbox Code Playgroud)

正如您在输出中看到的那样dis.dis,1.5 * 2并且4 - 2编译为LOAD_CONST而不是两个LOAD_CONST后跟二进制操作.

4 / 2不会被类似的东西所取代LOAD_CONST 4 (2).

我想知道为什么在优化中遗漏了分裂.

我使用的Python版本是2.7.5.

顺便说一句,似乎在Python 3中,这样的函数得到了更好的优化,这就是我所看到的:

>>> dis.dis(lambda : 4 / 2 +  1.5 * 2 + …
Run Code Online (Sandbox Code Playgroud)

python bytecode python-internals

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

标签 统计

python ×9

python-internals ×2

bytecode ×1

http ×1

metaclass ×1

mysql ×1

signals ×1

urllib2 ×1