Tag: python

在Python中用空格分隔string – 保留带引号的子string

我有一个这样的string: this is "a test" 我正在尝试用Python编写一些东西来分割它,而忽略引号内的空格。 我正在寻找的结果是: ['this','is','a test'] PS。 我知道你会问“如果引号内有引号,那么在我的应用程序中会发生什么事情,这是不会发生的。

在PyQt应用程序线程:使用Qt线程或Python线程?

我正在编写一个GUI应用程序,通过networking连接定期检索数据。 由于此检索过程需要一段时间,这会导致UI在检索过程中无响应(不能拆分成更小的部分)。 这就是为什么我想将Web连接外包给单独的工作线程。 [是的,我知道,现在我有两个问题 。] 无论如何,应用程序使用PyQt4,所以我想知道更好的select是什么:使用Qt的线程或使用Python threading模块? 各有什么优点/缺点? 或者你有完全不同的build议? 编辑(rebounty):虽然在我的具体情况下的解决scheme可能会使用像Jeff Ober和LukášLalinskýbuild议的非阻塞networking请求(所以基本上将并发问题留给networking实现),但我仍然想要更多深入解答一般问题: 使用PyQt4(即Qt)的线程优于本地Python线程(来自threading模块)的优缺点是什么? 编辑2:谢谢你所有的答案。 虽然没有100%的一致意见,但似乎有一个普遍的共识,认为答案是“使用Qt”,因为它的好处是与图书馆的其他部分整合在一起,而没有真正的缺点。 对于想要在两个线程实现之间进行select的人,我强烈build议他们阅读这里提供的所有答案,包括方法链接到的PyQt邮件列表线程。 我为赏金有几个答案。 最后我select方丈的非常相关的外部参考; 但是,这是一个密切的电话。 再次感谢。

在Python 3中将string转换为字节的最佳方法是什么?

似乎有两种不同的方式将string转换为字节,如TypeError的答案中所示:“str”不支持缓冲区接口 哪种方法会更好或者更加Pythonic? 还是只是个人喜好的问题? b = bytes(mystring, 'utf-8') b = mystring.encode('utf-8')

什么时候del在python中有用?

我真的不知道为什么python需要del关键字(大多数语言似乎没有类似的关键字)。 例如,不是删除一个variables,而是可以将None赋值给它。 从字典中删除时,可以添加一个del方法。 有没有任何理由保持python的del ,或者它是Python的预垃圾回收日的遗迹?

如何获得一个numpy数组中的N个最大值的索引?

Numpy提出了一种通过np.argmax得到数组最大值索引的np.argmax 。 我想要一个类似的东西,但是返回N个最大值的索引。 例如,如果我有一个数组[1, 3, 2, 4, 5] ,它的function(array, n=3)将返回[4, 3, 1] 。 谢谢 :)

BeautifulSoup抓住可见的网页文本

基本上,我想使用BeautifulSoup来严格地抓住网页上的可见文本 。 比如说, 这个网页就是我的testing用例。 我主要是想获得正文(文章),甚至可以在这里和那里的几个标签名称。 我已经在这个问题中尝试了这个build议,它返回了很多我不想要的<script>标记和html注释。 我无法弄清楚函数findAll()所需的参数,以便在网页上获取可见的文本。 那么,我应该如何find所有可见的文本,不包括脚本,评论,CSS等?

为什么在我导入numpy之后多处理只使用一个核心?

我不确定这是否会成为一个操作系统问题,但我想我会问在这里,以防有人从Python的一端有所了解。 我一直在尝试使用joblib来并行执行一个CPU joblib循环,但是我发现,不是每个工作进程被分配到不同的内核,而是最终将所有这些进程分配给相同的内核,而且性能没有提高。 这是一个非常微不足道的例子… from joblib import Parallel,delayed import numpy as np def testfunc(data): # some very boneheaded CPU work for nn in xrange(1000): for ii in data[0,:]: for jj in data[1,:]: ii*jj def run(niter=10): data = (np.random.randn(2,100) for ii in xrange(niter)) pool = Parallel(n_jobs=-1,verbose=1,pre_dispatch='all') results = pool(delayed(testfunc)(dd) for dd in data) if __name__ == […]

Python时间秒到h:m:s

我有一个函数,可以在几秒钟内返回信息,但我需要以小时:分钟:秒存储信息。 有没有一种简单的方法将秒转换为这种格式的Python?

在Python源码中使用utf-8编码

$ cat bla.py u = unicode('d…') s = u.encode('utf-8') print s $ python bla.py File "bla.py", line 1 SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 如何在源代码中声明utf-8string?

使用Python将所有模块加载到文件夹中

有人能提供一个导入整个模块目录的好方法吗? 我有这样的结构: /Foo bar.py spam.py eggs.py 我试着把它转换成一个包,通过添加__init__.py并from Foo import *但它没有按照我所希望的方式工作。