小编eac*_*eau的帖子

通过调用子进程替换当前进程?

在python中,有没有办法调用一个新的进程,将它传递给相同的上下文,例如标准IO流,关闭当前进程,并控制被调用的进程?这将有效地"替换"该过程.

我有一个程序,我想重复它的行为.但是,它使用第三方库,似乎我能真正杀死该库调用的线程的唯一方法是退出()我的python进程.

此外,它似乎可以帮助管理内存.

python replace process

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

git submodule foreach - 首先递归提交子模块的强大方法?

是否有一种强大的方法来执行递归深度优先git submodule foreach命令?我正在使用完成工作的foreach --recursive命令,除了它是广度优先.这是一个问题,因为如果我有以下结构:

  • 一个
  • C

我有三个提交,一个foreach --recursive add -A && git commit ...命中A,B,C,如果我希望超模块在那个时候捕获B的提交,这是有问题的.

我在2008年发现了这个讨论,但它看起来并不像我当前版本的Git中的任何建议功能(1.7.9.5).

我写了一个小的bash函数来做这个(原谅速记命名):

function git-sfed() { git submodule foreach "git submodule foreach '$*' && $*"; }
Run Code Online (Sandbox Code Playgroud)

使用以下fanciful命令测试它似乎工作:

git-sfed 'python -c "import sys; print sys.argv" $path'
Run Code Online (Sandbox Code Playgroud)

此命令看起来是否健壮,或者是否存在其他常见的现有方法?

git foreach git-submodules

11
推荐指数
2
解决办法
4737
查看次数

Python Regex中的错误?(re.ub与re.MULTILINE)

我注意到Python的Regex库中有一些奇怪的行为,我不确定我是否做错了.

如果我使用re.sub()with 运行正则表达式re.MULTILINE.它似乎只取代了前几次出现.如果我re.MULTILINE使用关闭,使用re.subn(..., count = 0, flags = re.MULTILINE)或编译正则表达式,它将替换所有出现的事件re.compile(..., re.MULTILINE).

我在Ubuntu 12.04上运行Python 2.7.

我发布了一个随机的例子:

  • Pastebin.com - 终端输出
  • 键盘 -脚本,确认(除了re.subn(),它是不同上2.5)行为

有人可以在他们的机器上确认/否认这种行为吗?

编辑:已实现我应该继续在Python bug跟踪器上发布此信息.编辑2:报告的问题:http://bugs.python.org/msg168909

python regex

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

为什么ToMatlab []在Matlab中随机产生无效矩阵(vertcat错误)?(包括bugfix)

我一直在使用http://library.wolfram.com/infocenter/MathSource/577/上的 ToMatlab [] 将Mathematica表达式转换为Matlab,以便在数值上模拟模型.

我最近遇到了一个错误:我尝试让Matlab评估由ToMatlab []生成的函数,但是它给了我以下错误:

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Run Code Online (Sandbox Code Playgroud)

这意味着我有一个非方矩阵(即不是矩阵).搜索并发现(一)提到该错误,但没有提到解决方案:http://groups.google.com/forum/#!searchin/comp.soft-sys.math.mathematica/tomatlab/comp.soft- sys.math.mathematica/cxNZC9IYgfQ/2Q6jP4U4hzkJ

matlab wolfram-mathematica

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

导入[]用于包含struct数组的MAT文件 - 只导入第一个元素?

我试图从保存的MATLAB结构数组导入数据,但似乎Mathematica只导入第一个元素.

MATLAB

blank = struct('x', [], 'y', [], 'z', []);
data = repmat(blank, 1, 10);

for i = 1:10
    data(i) = struct('x', i, 'y', i * 2, 'z', i * 3);
end

save('test.mat', 'data');
Run Code Online (Sandbox Code Playgroud)

数学

In[76]:= Import["test.mat", "LabeledData"]
Out[76]= {"data" -> {"x" -> {{1.}}, "y" -> {{2.}}, "z" -> {{3.}}}}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?

作为临时修复,我只是简单地将多个结构存储在单元格数组中,即

data{i} = struct(...)
Run Code Online (Sandbox Code Playgroud)

Mathematica似乎能够处理这么好.

arrays import matlab struct wolfram-mathematica

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

Sympy - 合理化表达式中的所有数值?(就像 Mathematica 的 Rationalize[])

是否有一种简单的方法来(尝试)合理化给定 delta 中表达式中的所有数值,就像Rationalize[]在 Mathematica 中一样?

Mathematica 中的一个例子:

In[25]:= Rationalize[0.5 x^2 - 3.333333 x, 10^-4]
Out[25]= x^2/2-(10 x)/3
Run Code Online (Sandbox Code Playgroud)

我看到了这个nsimplify()功能,但这似乎有点矫枉过正。

python sympy fractions

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

如何检查表达式是否包含复杂表达式?

有没有办法检查表达式是否包含复杂的表达式/虚数?

文档说您无法检查表达式是否包含,I因为它的解释方式.我也尝试过ImaginaryQ[expr_] := expr != Conjugate[expr]Simplify[expr] =!= Simplify[Conjugate[expr]],但不会产生准确的结果.我也试过使用MemberQ [expr,Complex],但这似乎也不起作用.

我在笔记本上贴了一些例子:http: //www.eacousineau.com/download/complex-test.nb

math wolfram-mathematica

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