小编use*_*312的帖子

从可迭代创建字典

从iterable创建字典并为其分配一些默认值的最简单方法是什么?我试过了:

>>> x = dict(zip(range(0, 10), range(0)))
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为范围(0)不是可迭代的,因为我认为它不会(但我还是试过了!)

那我该怎么办呢?如果我做:

>>> x = dict(zip(range(0, 10), 0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: zip argument #2 must support iteration
Run Code Online (Sandbox Code Playgroud)

这也不起作用.有什么建议?

python dictionary

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

在C++中使用'short'

为什么对于任何数字输入我们更喜欢int而不是short,即使输入的整数非常少.

short的大小在我的x86上是2个字节,int是4个字节,不应该比int更好更快地分配吗?

或者我说错了没用?

c++

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

C++头文件如何工作?

当我在C++程序中包含头文件中的某些函数时,整个头文件代码是否被复制到最终的可执行文件中,或者只生成特定函数的机器代码.例如,如果我std::sort<algorithm>C++中的标题调用,则仅为sort()函数或整个<algorithm>头文件生成机器代码.

我认为Stack Overflow上存在一个类似的问题,但我已尽力找到它(我曾经看了一次,但丢失了链接).如果你能指出我的话,那就太棒了.

c++ header-files

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

在Python中使用exec和eval

所以,我已经明白了exec,并evalcompile做.但为什么我需要使用它们呢?我对使用场景不清楚.

任何人都可以给我一些例子,以便我能更好地欣赏这个概念.因为我知道这都是理论.

python eval exec

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

理解Python集的行为

内置类型的文档set说:

class set([iterable])
Run Code Online (Sandbox Code Playgroud)

返回一个新的set或frozenset对象,其元素取自iterable.集合的元素必须是可以清除的.

没关系,但为什么这样做:

>>> l = range(10)
>>> s = set(l)
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Run Code Online (Sandbox Code Playgroud)

而这不是:

 >>> s.add([10])

    Traceback (most recent call last):
      File "<pyshell#7>", line 1, in <module>
        s.add([10])
    TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

两者都是清单.在初始化过程中是否会发生一些魔法

python set

7
推荐指数
3
解决办法
4585
查看次数

决定在Python中捕获哪些异常

假设我使用的库X指定了例如exception.BaseError所有异常的基类X.

现在,还有另一个例外,比如说X.FooError,它当然是继承的,exception.BaseError但更广泛,假设它处理无效输入.让我们假设还有许多其他类似的东西,BaseError但是对于一般化的案例而言都是如此.

 X
 |
BaseError
 |
FooError
Run Code Online (Sandbox Code Playgroud)

所以我想检查无效输入.那么我应该抓住哪个例外?当然,捕获每个单独的异常是不可能的,所以我抓住X.BaseError然后打印一条错误消息.或者我可以抓住X.FooError具体但然后我错过了所有其他错误情况.

这是标准的做法吗 - 捕获基本异常?如果是,那么为什么存在其他例外呢?对于我们想要捕获特定异常的一般情况?

python exception-handling

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

以单行打印输出

我有以下代码:

>>> x = 0
>>> y = 3
>>> while x < y:
    ... print '{0} / {1}, '.format(x+1, y)
    ... x += 1
Run Code Online (Sandbox Code Playgroud)

输出:

1 / 3, 
2 / 3, 
3 / 3, 
Run Code Online (Sandbox Code Playgroud)

我希望我的输出像:

1 / 3, 2 / 3, 3 / 3 
Run Code Online (Sandbox Code Playgroud)

我搜索并发现在一行中执行此操作的方法是:

sys.stdout.write('{0} / {1}, '.format(x+1, y))
Run Code Online (Sandbox Code Playgroud)

还有另一种方法吗?sys.stdout.write()因为我不知道它与它有什么不同,所以我感觉不舒服print.

python printing

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

wget:检查文件时间戳和覆盖

我怎样才能wget做到这一点:

x仅从文件的本地副本的时间戳大于文件时间戳的时间戳时,才从某个位置下载文件x.这意味着,它应该从给定位置下载文件,只有当文件的版本较新时才应该.

如果有更新版本的文件,wget应覆盖该文件.

是否有可能做到这一点?

wget

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

py2exe:减小库归档的大小

我刚刚创建了我的第一个py2exe可执行文件,并注意到使用EXE,创建了一个大小约为1.4 MB的ZIP文件.

我的问题是,我可以减小它的大小,或者预计使用py2exe生成的EXE的典型大小将是~4 MB(这意味着所有文件:python2.6dll,library.zip)

python py2exe

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

pyPdf无法从我的PDF中的某些页面中提取文本

我正在尝试使用pyPdf从多页PDF中提取和打印页面.问题是,文本不是从某些页面中提取的.我在这里放了一个示例文件:

http://www.4shared.com/document/kmJF67E4/forms.html

如果运行以下命令,则前81页不返回任何文本,而最后11页正确提取.有人可以帮忙吗?

from pyPdf import PdfFileReader  
input = PdfFileReader(file("forms.pdf", "rb"))  
for page in input1.pages:  
    print page.extractText()  
Run Code Online (Sandbox Code Playgroud)

python pdf

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

标签 统计

python ×7

c++ ×2

dictionary ×1

eval ×1

exception-handling ×1

exec ×1

header-files ×1

pdf ×1

printing ×1

py2exe ×1

set ×1

wget ×1