小编GP8*_*P89的帖子

安装python的安装工具

我正在尝试在centos 5.6上为python 2.7.1安装setuptools.系统版本是python 2.4

我在这里找到了类似的问题,但解决方案仍然会出现同样的错误:setuptools-0.6c11-py2.7.egg: line 3: exec: python2.7: not found

Python位于 /usr/bin/python2.7.1

有任何想法吗?

python

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

如何在urlopen上永远阻止阻塞

我遇到的问题是urllib2.urlopen/ requests.post是很偶然阻塞永远对socket.recv不退还.

我试图找出为什么会发生这种情况并解决这个问题,但同时我想知道是否有办法防止它永远阻塞?

我已经知道了timeout可选参数urllib2.urlopen,socket.setdefaulttimeout但不幸的是,对于我的用例,超时不是解决方案因为我使用POST上传文件我使用的任何超时值都可能会中断正常的文件上传.

我也看到了一些使用信号的解决方案,但这会产生与使用超时相同的问题(也是问题,因为我不是从主线程中执行此操作).

是否有可能在没有数据通过套接字发送/接收一段时间后才能超时?或者也许有一些方法我可以使用select/poll来防止我遇到的死锁/阻塞?

如果有使用select/poll的解决方案,我将如何将其合并到urllib2.urlopen/ requests.post


我还有一个想法,如果我可以通过写入类型的接口发送文件数据,所以我控制迭代文件并一次发送块我可能有足够的控制来避免停顿.我不知道如何实现它,所以我问了一个问题:使用file.write接口上传文件

更新 似乎我总是误解了timeoutpython 中的含义,它似乎实际上是空闲超时或读/写超时(可能是我第一次不同意Guido).我一直以为这是响应应该返回的最长时间 - 谢谢@tomasz指出这个!

但是,增加超时参数(这两个测试后urllib2requests)我已经遇到了一些非常奇怪和微妙的情况下,可能MAC具体,超时工作不正常,我正在越来越倾向于认为是一个错误.我将继续调查并确切地找出问题所在.再次感谢tomasz对此的帮助!

python sockets urllib2 python-2.7

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

创建"单例"线程 - 如何在任何时候最多拥有一个线程实例

我希望有一个类(从threading.Thread继承)初始化并从程序中的多个位置开始.我想要避免的是,如果线程已经从其他地方运行,如果程序中的另一个地方试图启动它

t= somemodule.TheThread(some,args)
t.start()
Run Code Online (Sandbox Code Playgroud)

程序可以继续执行(但是只有当相同的线程尚未在此处或其他地方运行时,线程才会启动).

我可以想到一些不太优雅的方法来设置标志,但必须有一个很好的方法来解决这个问题.我用装饰器查看单例类型模式或覆盖新的但主要问题是如果我保持相同的实例是你不能(我知道)调用启动不止一次,即使线程已经完成.

我想过在anther对象中创建线程对象,可以检查当前线程是否仍在运行,但是我无法确定如何保持这个线程安全.

有人有任何想法吗?

python singleton multithreading

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

Python,如果它包含匹配的元组,则删除整个列表

我希望以前没有问过这个问题,但我很难说出我正在努力做的事情!

如果我解释我的输入和所需的输出可能会更容易

l1 = [[(14, 'h'), (14, 'd')], [(14, 'h'), (14, 'c')], [(14, 'h'), (14, 's')], [(14, 'd'), (14, 'c')], [(14, 'd'), (14, 's')], [(14, 'c'), (14, 's')], [(13, 'h'), (13, 'd')], [(13, 'h'), (13, 'c')], [(13, 'h'), (13, 's')], [(13, 'd'), (13,'c')], [(13, 'd'), (13, 's')], [(13, 'c'), (13, 's')], [(12, 'h'), (12, 'd')], [(12, 'h'), (12, 'c')], [(12, 'h'), (12, 's')], [(12, 'd'), (12, 'c')], [(12, 'd'), (12, 's')], [(12, 'c'), (12, 's')]]

l2 = [(13,'h'),(13,'d'),(14,'c'),(14,'s'),(14,'h')]
Run Code Online (Sandbox Code Playgroud)

所以这个第一个列表l1是一个列表列表,每个列表都是2张牌的扑克牌.

基本上我要做的是如果一张牌在l2中,则需要移除l1中的牌.所以条目[(14,'d'),(14,'c')]需要从l1中删除,因为(14,'c')在l2--即使(14,'d')isn'在l2. …

python tuples list

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

@的Python文档?

只是一个简单的问题,

有人可以链接到我在python中使用@的文档吗?

由于无法谷歌@并且不知道它的用途或名称我不知道如何自己找到它:)

非常感谢!!

python

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

这是os中的错误还是有人可以向我解释发生了什么?

>>> os.path.realpath("C:")
'C:\\PythonApp'
>>> os.path.realpath("E:")
'E:\\'
Run Code Online (Sandbox Code Playgroud)

我目前的目录是C:\PythonApp.os如果我给它一个未知的路径名称,它似乎默认为当前目录os.listdir,为什么它适用于E而不是C?

python operating-system

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

使用谷歌应用引擎作为smtp服务器

我们希望使用谷歌发送电子邮件,看起来这可以通过谷歌应用引擎非常轻松地完成:https://developers.google.com/appengine/docs/python/mail/sendingmail

然而,我想知道的是,我们可以将谷歌应用程序用作smtp服务器/网关,以便我们可以将应用程序中的地址放入我们当前发送消息的位置,应用程序将接收它们并将其提交给谷歌通过他们的api发送?

python google-app-engine

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