小编paf*_*fcu的帖子

任何好的后记绘图库?

我需要为我的LaTeX文档绘制一些图片,我发现手工制作的PostScript看起来很合适(我想以编程方式做事,需要数学函数等).我也试过TikZ,但这看起来过于复杂,难以使用.

但是,使用普通的标准PostScript有点痛苦,因为绘制形状实际上没有任何标准功能(例如甚至不是矩形).

是否有任何PostScript库包含常见形状的功能并使生活更轻松?在我看来这个问题应该是相当普遍的.

或者我应该跳过PostScript并转向一些优秀的系统?哪一个?

drawing postscript

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

如何从vim中的长选项名称获取短选项名称

我有一个vim长选项名称列表作为字符串(例如["tabstop","shiftwidth"]).将它转换为仅包含短名称的列表的最佳方式是什么(例如["ts,"sw"]).如果原始列表是短名称和长名称的混合怎么办?

vim

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

将Python类还原到原始状态

我有一个类,我动态添加一些属性,在某些时候我想恢复类的原始条件没有添加属性.

情况:

class Foo(object):
  pass

Foo.x = 1
# <insert python magic here>
o = Foo() # o should not have any of the previously added attributes
print o.x # Should raise exception
Run Code Online (Sandbox Code Playgroud)

我最初的想法是创建原始类的副本:

class _Foo(object):
  pass

Foo = _Foo
Foo.x = 1
Foo = _Foo # Clear added attributes
o = Foo()
print o.x # Should raise exception
Run Code Online (Sandbox Code Playgroud)

但由于Foo只是对_Foo的引用,因此任何属性都会添加到原始的_Foo中.我也试过了

Foo = copy.deepcopy(_Foo)
Run Code Online (Sandbox Code Playgroud)

如果这会有所帮助,但显然它没有.

澄清:

用户不需要关心如何实现类.因此,它应具有"正常定义"类的相同特征,即内省,内置帮助,子类化等.这几乎排除了任何基于__getattr__

python

4
推荐指数
2
解决办法
4623
查看次数

如果另一个程序返回错误,则自动运行程序

我有一个程序(抓图),使用网络摄像头拍摄一个人的脸,我也有一个shell脚本包装器,其工作方式如下:

在命令行上,用户为脚本提供要运行的程序的名称及其命令行参数.然后脚本执行给定的命令并检查退出代码.如果出现错误,则运行程序抓取以捕获用户的惊讶面孔.

一切都很好.但问题是必须始终使用包装器脚本.有没有办法在shell中输入命令时自动运行此脚本?或者是否有其他方法可以在任何程序运行后自动运行给定的程序?

优选地,解决方案应该在bash中工作,但是任何其他shell也可以.我意识到这可以通过简单地在shell的源代码中进行一些调整来实现,但这是最后一种措施.

可能更棘手的事情是扩展它以使用在shell外部启动的程序(例如从桌面环境),但这可能太难了.

编辑: Awsome!由于bash很容易,其他贝壳呢?

bash shell scripting exit-code

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

快速计算3D阵列中的相邻点

我有一个代码,我想循环遍历网格中的所有点,并为每个点检查给定条件是否适用于足够数量的相邻点.另外,我在网格上有周期性边界.

问题与生命游戏非常相似.

我当前的代码看起来像这样

do k=1,ksize; do j=1,jsize; do i=1,isize ! Loop over all points
  ncount = 0
  kkloop: do kk=k-1,k+1 ! Loop over neighbours
    ktmp = kk
    if(kk>ksize) ktmp = 1 ! Handle periodic boundary
    if(kk<1) ktmp = ksize
    do jj=j-1,j+1
      jtmp = jj
      if(jj>jsize) jtmp = 1
      if(jj<1) jtmp = jsize
      do ii=i-1,i+1
        if(ii == 0 .and. jj == 0 .and. kk == 0) cycle ! Skip self
        itmp = ii
        if(ii>isize) itmp = 1
        if(ii<1) itmp = isize …
Run Code Online (Sandbox Code Playgroud)

optimization fortran

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

用较短的数组替换部分numpy 1D数组

我有一个包含一些音频数据的numpy数组.我正在做一些处理,并希望用白噪声替换数据的某些部分.然而,噪音应该比更换部件短.生成噪声不是问题,但我想知道用噪声替换原始数据的最简单方法是什么.data[10:110] = noise[0:10]由于明显的尺寸不匹配,我的第一次想法不起作用.

用不同维度的另一部分替换numpy数组的一部分最简单的方法是什么?

编辑: 数据是未压缩的PCM数据,可能长达一个小时,占用几百MB的内存.我想避免在内存中创建任何额外的副本.

python arrays numpy

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

分发python应用程序

我有一个简单的python应用程序,其中我的目录结构如下:

  • 项目/
    • main.py
    • config.py
    • 插件/
      • plugin1
      • plugin2
      • ...

Config.py仅加载配置文件,它本身不包含任何配置信息.

我现在想要分发这个程序,我想我会使用setuptools来完成它.用户预计将使用的文件是main.py,这样一个显然已经到/ usr/bin和文件的剩余部分进入到/ usr /共享/项目.

但是有一个问题:我会以某种方式告诉main.py在共享目录中查找config.py.但我无法确定共享目录的确切位置,因为这取决于setuptools,对吧?

分发基于Python的应用程序时,最佳做法是什么?

python setuptools

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