Tag: python

禁用Python nosetests

在Python中使用nosetests时,可以通过将testing函数的__test__属性设置为false来禁用unit testing。 我已经实现了这个使用下面的装饰器: def unit_test_disabled(): def wrapper(func): func.__test__ = False return func return wrapper @unit_test_disabled def test_my_sample_test() #code here … 但是,这有调用包装器作为unit testing的副作用。 包装将始终通过,但它包括在nosetests输出。 是否还有另一种构造装饰器的方法,以便testing不会运行,并且不会出现在鼻子testing输出中。

写一个if语句的更短,更pythonic的方式

我有这个 bc = 'off' if c.page == 'blog': bc = 'on' print bc 有没有更pythonic(和/或更短)的方式来写这个Python?

有没有办法写这些如果更好?

我需要在Python中编写这四个。 注意它做了什么,在一个循环中四种可能的状态之间变化: 1,0 -> 0,1 -> -1,0 -> 0,-1并返回到第一个状态。 if [dx, dy] == [1,0]: dx, dy = 0, 1 if [dx, dy] == 0, 1: dx, dy = -1, 0 if [dx, dy] == [-1, 0] dx, dy = 0, -1 if [dx, dy] == [0, -1]: dx, dy = 1, 0 任何人都可以build议我一个更好/更好的方式来写这个?

Matplotlib和Pyplot.close()不释放内存? – 后端相关的Qt4Agg

编辑:如果我明白更改后台matplotlib从'Qt4Agg'只是'聚',那么我能够运行我的代码没有错误。 我认为这是后端的错误? 我正在编写一些自动处理大量数据的代码。 代码首先parsing我的数据文件并存储所有相关的位。 然后我有不同的function来生成我需要的每个图表(大约有25个)。 但是,我不断遇到某种内存错误,我认为这是因为Matplotlib / PyPlot没有正确释放内存。 每个绘图函数都以pyplot.close(fig)命令结束,因为我只是想保存graphics而不是立即查看它们,所以不包含pyplot.show()。 如果我在解释器中分别运行绘图函数,那么我不会遇到任何问题。 但是,如果我做一个单独的函数,依次调用每个绘图函数,那么我会遇到“MemoryError:无法为path分配内存”。 有没有人遇到这样的问题? 这似乎与Matplotlib在循环绘制时耗尽内存有关,但pyplot.close()不能解决我的问题。 这是我的代码中典型的绘图function的样子: def TypicalPlot(self, title=None, comment=False, save=False, show=True): if title is None: title = self.dat.title fig = plt.figure() host = SubplotHost(fig, 111) fig.add_subplot(host) par = host.twinx() host.set_xlabel("Time (hrs)") host.set_ylabel("Power (W)") par.set_ylabel("Temperature (C)") p1, = host.plot(self.dat.timebase1, self.dat.pwr, 'b,', label="Power", markevery= self.skip) p2, = par.plot(self.dat.timebase2, […]

将具有常数值的列添加到pandas数据框

我不知道为什么这把NaN纳入“新”专栏? df['new'] = pd.Series([0 for x in range(len(df.index))]) 编辑: df['new'] = 0 工作:)

如何在keras中获得可重复的结果

每次我从imdb_lstm.py框架运行imdb_lstm.py示例( https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py )时,我得到了不同的结果(testing准确性)。代码包含np.random.seed(1337)在顶部,在任何kerasimport之前。 它应该防止它为每次运行产生不同的数字。 我错过了什么? 更新:如何repro: 安装Keras( http://keras.io/ ) 执行https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py几次。 它将训练模型并输出testing精度。 预期结果:每次运行testing的准确性都是一样的。 实际结果:每次运行testing的准确性都不一样。 UPDATE2:我使用MinGW / msys,模块版本在Windows 8.1上运行它: theano 0.7.0 numpy 1.8.1 scipy 0.14.0c1 UPDATE3:我把问题缩小了一点。 如果我用GPU运行这个例子(设置theano flag device = gpu0),那么我每次都得到不同的testing精度,但是如果我在CPU上运行它,那么一切都按预期工作。 我的显卡:NVIDIA GeForce GT 635)

可靠,高效的Linux键值数据库?

我需要一个快速,可靠和高效的Linux内核键值数据库。 我的密钥大约是128个字节,最大值可以是128K或256K。 数据库子系统不应该使用大于1 MB的RAM。 总数据库大小为20G(!),但是一次只访问一小部分数据。 如果有必要的话,我可以将一些数据blob移出数据库(到普通文件),所以大小最多可以降低到2GB。 数据库必须在最近未经修改的数据中没有任何损失的情况下经受系统崩溃。 我将有大约100倍以上的读取比写入。 如果它可以使用块设备(没有文件系统)作为存储,则是一个优点。 我不需要客户端 – 服务器function,只需要一个库。 我需要Python绑定(但是如果它们不可用,我可以实现它们)。 我应该考虑哪些解决scheme,你推荐哪一个? 我知道哪些人可以工作的候选人: 东京内阁 (Python绑定是pytc ,另请参见pytc示例代码 ,支持散列和B +树,事务日志文件等等,存储区数组的大小在数据库创build时固定;作者必须closures文件以给其他人很多机会,重新开放这些文件的速度很慢; Tyrant服务器可以帮助大量的小写入; 东京内阁,东京暴君和伯克利DB之间的速度比较 ) VSDB (即使在NFS上也是安全的,没有locking;那么障碍是什么?;更新非常慢,但不像在cdb中那么慢; 2003年的最后一个版本) BerkeleyDB (提供崩溃恢复;提供事务; bsddb Python模块提供绑定) Samba的TDB (包含事务和Python绑定,一些用户经历了损坏 ,有时候mmap()是整个文件, repack操作有时会使文件大小加倍,如果数据库大于2G(即使在64位系统上) ,集群实现( CTDB )也可用;经过大量修改后文件变得太大;在大量哈希争用之后文件变得太慢;没有内置方式来重build文件;通过locking单个哈希桶实现非常快速的并行更新) aodbm (追加 – 只有这样才能在系统崩溃中幸存下来,用Python绑定) hamsterdb (使用Python绑定) C-tree (具有高性能的成熟的多function商业解决scheme,具有减lessfunction的免费版本) 旧的TDB (从2001年起) bitcask (日志结构化,用Erlang编写) 各种其他DBM实现(如GDBM,NDBM,QDBM,Perl的SDBM或Ruby的;可能他们没有适当的崩溃恢复) 我不会使用这些: MemcacheDB (客户端服务器,使用BereleleyDB作为后端) cdb (每次写入时需要重新生成整个数据库) […]

我们可以对python包装和导入如何工作提供一些明确的说明吗?

我有很好的机会通过模块化的Pythonpipe理,每一次都是一个挑战:包装不是人们每天都在做的事情,它成为学习的负担,即使在实际操作时也要记住一个负担,因为这通常发生一次。 我想在这里收集关于python的导入,包pipe理和分发如何工作的明确的概述,以便这个问题成为所有发生在引擎之下的魔法的明确解释。 虽然我理解这个问题的广泛层面,但这些东西是如此交织在一起,以至于任何有针对性的答案都不能解决主要问题:理解所有作品,什么是过时的,什么是当前的,什么是同一个任务的替代品,什么是怪癖。 以下是关键词列表,但这只是一个例子。 还有更多,欢迎您添加更多的细节。 的PyPI setuptools /分发 的distutils 蛋 鸡蛋链接 果仁 的zipimport site.py 站点包 .pth文件 的virtualenv 处理鸡蛋中已编译的模块(通过easy_install进行安装和未安装) 使用get_data() pypm 便当 PEP 376 奶酪店 eggsecutable 链接到其他答案可能是一个好主意。 正如我所说,这个问题是高层次的概述。

Python音乐库?

我正在用Python写一个鼓点机器。 我search了一些,发现音乐和基本audio的python页面以及生成audio文件的StackOverflow问题,但是我正在寻找的是一个体面的音乐创作库 。 有没有人在这里试图做这样的事情? 如果是这样,你的解决scheme是什么? 什么,我发现的,或者我没有find的东西,将是一个体面的audio处理库? 最起码,我希望能够在Python中做类似于Audacity的范围,但是如果有人知道一个库可以做更多的事情……我全是耳朵。

Scipy稀疏…数组?

所以,我正在做一些Kmeans分类,使用非常稀疏的numpy数组 – 很多很多的零。 我想我会使用scipy的'稀疏'包来减less存储开销,但我有点困惑如何创build数组,而不是matrix。 我已经通过本教程了解如何创build稀疏matrix: http : //www.scipy.org/SciPy_Tutorial#head-c60163f2fd2bab79edd94be43682414f18b90df7 为了模仿一个数组,我只是创build一个1xN的matrix,但正如你所猜测的,Asp.dot(Bsp)不能很好地工作,因为你不能乘以两个1xNmatrix。 我不得不将每个数组转换为Nx1,这是非常蹩脚的,因为我会为每个点积计算。 接下来,我尝试创build一个NxNmatrix,其中第1行==第1行(这样您可以乘以两个matrix,只需将左上angular作为点乘积),但事实certificate效率并不高。 我喜欢使用scipy的稀疏包作为numpy的数组()的魔术替代品,但是到目前为止,我并不确定该怎么做。 有什么build议?