小编Rei*_*ica的帖子

为什么要使用pip而不是easy_install?

一个鸣叫曰:

不要使用easy_install,除非你喜欢刺伤自己的脸.使用点子.

为什么要使用pip而不是easy_install?问题不在于PyPI和包装作者吗?如果作者将垃圾源tarball(例如:丢失文件,没有setup.py)上传到PyPI,那么pip和easy_install都将失败.除了化妆品差异,为什么Python人(如上面的推文)似乎强烈支持pip而不是easy_install?

(我们假设我们正在讨论来自Distribute包的easy_install,这是由社区维护的)

python pip setuptools easy-install pypi

924
推荐指数
8
解决办法
22万
查看次数

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

如何检查对象是列表还是元组(但不是字符串)?

这是我通常做的,以确定输入是list/ tuple- 而不是a str.因为很多次我偶然发现函数str错误地传递了一个对象的bug ,而目标函数确实for x in lst假设它lst实际上是一个list或者tuple.

assert isinstance(lst, (list, tuple))
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有更好的方法来实现这一目标?

python types assert list

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

Chrome桌面通知示例

如何使用Chrome桌面通知?我想在我自己的代码中使用它.

更新:这是一篇博客文章,通过示例解释webkit通知.

javascript desktop notifications google-chrome

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

如何检查Go中是否存在文件?

Go的标准库没有专门用于检查文件是否存在的函数(如Python os.path.exists).这样做的惯用方法是什么?

file standard-library go

393
推荐指数
14
解决办法
22万
查看次数

333
推荐指数
9
解决办法
15万
查看次数

使用模块'subprocess'和超时

这是运行任意命令返回其stdout数据的Python代码,或者在非零退出代码上引发异常:

proc = subprocess.Popen(
    cmd,
    stderr=subprocess.STDOUT,  # Merge stdout and stderr
    stdout=subprocess.PIPE,
    shell=True)
Run Code Online (Sandbox Code Playgroud)

communicate 用于等待进程退出:

stdoutdata, stderrdata = proc.communicate()
Run Code Online (Sandbox Code Playgroud)

subprocess模块不支持超时 - 能够终止运行超过X秒的进程 - 因此,communicate可能需要永久运行.

在旨在在Windows和Linux上运行的Python程序中实现超时的最简单方法是什么?

python multithreading subprocess timeout

303
推荐指数
15
解决办法
26万
查看次数

简单的方法来防止Heroku空转?

在Heroku免费应用程序中,dynos似乎保持闲置 - 我的应用程序的流量非常低,但在我的情况下,我的用户还必须等待20多秒才能启动新的dyno.

坦率地说,有了这种等待,很多人会在第一页显示之前离开.

所以,我有一个问题:当我的流量是每天一位数时,我应该每月支付36美元来为每个用户节省一个令人尴尬的长20秒.

有没有解决的办法??

heroku

279
推荐指数
14
解决办法
8万
查看次数

可重用的库,以获得文件大小的人类可读版本?

Web上有各种片段,可以为您提供从字节大小返回人类可读大小的功能:

>>> human_readable(2048)
'2 kilobytes'
>>>
Run Code Online (Sandbox Code Playgroud)

但是有没有提供这个的Python库?

python filesize code-snippets

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

如何检测sys.stdout是否附加到终端?

有没有办法检测是否sys.stdout连接到控制台终端?例如,我希望能够检测foo.py是否通过以下方式运行:

$ python foo.py  # user types this on console
Run Code Online (Sandbox Code Playgroud)

要么

$ python foo.py > output.txt # redirection
$ python foo.py | grep ....  # pipe
Run Code Online (Sandbox Code Playgroud)

我问这个问题的原因是我想确保我的进度条显示只发生在前一种情况下(真正的控制台).

python terminal console

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