小编yan*_*nis的帖子

在Pillow中打开和加载图像时出现"打开文件太多"错误

运行以下代码时:

KEEP=[]
for file in glob.glob("./KEEP/thing*.[tT][iI][fF]"):
    m = pattern.search(file)
    filename=m.group(1)
    keep=Image.open(file)
    keep.load()
    KEEP.append(keep)
    KEEP_NAMES.append(filename)
    keep.close()
Run Code Online (Sandbox Code Playgroud)

超过一千个文件,我收到错误消息:

Traceback (most recent call last):
  File "/hom/yannis/texmf/python/remove-harakat.py", line 123, in <module>
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2237, in open
IOError: [Errno 24] Too many open files: './KEEP/thing1118_26.TIF'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样,因为我加载()然后关闭()所有文件,为什么它们应该保持打开状态?有没有解决这个问题的方法,除了减少文件数量(这不是我的选择)?在内存中读取内容后关闭它们的一些方法?

python pillow

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

用Python进行程序验证

我正在教一本关于FOL和程序验证的课程,该课程的灵感来自Morderhai Ben-Ari,《计算机科学的数学逻辑》,施普林格,1993-2012年。我想通过让学生使用Python进行编程来说明这些概念。

对于FOL,我使用的是NLTK,它具有出色的FOL软件包。

但是我还没有找到用于程序验证的Python包:插入前置条件和后置条件逻辑公式,查找循环不变式,逐步验证Python程序等。换句话说,要在Python内使用Hoare逻辑框架并为Python使用程式。

您是否知道此任务的任何包装?

python hoare-logic

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

如何在OWL中定义关系属性?

在我的本体论中,我有个人"pic Joan",这是概念"山"和"端口Cerbère"的实例,这是概念"村庄"的一个实例.我有从"pic Joan"到"Cerbère"港口的"支配"关系(在这个意义上说,山被认为是靠近村庄,因此"支配它").

但事实上,我需要代表信息"pic Joan在距离西北1.5英里的地方塞尔塞雷港."

所以,从逻辑上讲,我需要附加关系"支配"数据属性"distance = 1.5M","direction = NW".

但是,AFAIK,OWL 不提供关系属性.我知道我可以为关系定义范围和域,但这不是关于范围和域,相同的关系在不同实例之间具有不同的属性值.

您如何在OWL中表示此信息?

(辅助问题:是否有其他本体论形式可以定义关系的属性?如果是,是否有像Protégé这样的工具来管理该形式主义的本体?)

knowledge-management semantic-web owl ontology

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

将igraph邻接矩阵转换为numpy数组

通过写作

import igraph
g = igraph.Graph()
g.add_vertices(6)
g.add_edges([(0,1),(0,3),(0,4),(0,5),(1,2),(2,4),(2,5),(3,0),(3,2),(3,5),(4,5),(3,3)])
A=g.get_adjacency()
Run Code Online (Sandbox Code Playgroud)

我得到了图g的邻接矩阵,作为Matrix对象.我想通过使用,例如,计算其特征值numpy.linalg.eigvals().此方法将numpy数组对象作为参数.如何将Matrix对象转换为numpy数组对象?我试过用

X=numpy.matrix(A)
Run Code Online (Sandbox Code Playgroud)

但是它产生了两种混合物,并且无法计算特征值.

python numpy igraph

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

Homebrew:谁想要添加一个公式?

经过多年使用fink和macports,我把它全部扔掉安装自制软件,这确实更加强大和易于使用.但是,令我完全失望的是,我发现一些程序(我认为它们是伟大的经典,但可能非常主观)并不是作为自制公式提供的.丢失公式的一个示例:( gv一个非常有效的PostScript查看器,可以轻松计算LaTeX用户的边界框).

所以我的问题是:我可以请求谁将这个软件调整到自制软件系统?是否有一些论坛,我可以提出我的愿望,希望有一些善良的灵魂能够实现它们?

homebrew

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

R bnlearn Grow-Shrink结构学习返回无向图

Nagarajan等人.本书(Bayesian Networks in R,O'Reilly 2013,p.35)说当我获取R bnlearn包的标记数据集并要求通过写作使用grow-shrink实现来学习结构

library(bnlearn)
data(marks)
bn.gs = gs(marks)
Run Code Online (Sandbox Code Playgroud)

然后我应该获得有向图:

model: [STAT][ANL|STAT][ALG|ANL:STAT][VECT|ALG] [MECH|VECT:ALG]
nodes: 5
arcs: 6
undirected arcs: 0
directed arcs: 6
Run Code Online (Sandbox Code Playgroud)

而不是我得到一个无向图:

model: [undirected graph]
nodes: 5 
arcs: 6 
undirected arcs: 6 
directed arcs: 0 
Run Code Online (Sandbox Code Playgroud)

即使我将选项undirected = FALSE添加到gs方法,我仍然得到相同的结果.我究竟做错了什么?或者R实现中是否存在错误?我在我的Mac和Debian机器上都尝试过,结果是一样的......

r

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

定义 Haskell Fibonacci 时的堆栈溢出

只是尝试执行 Hal Daumé III 的 YAHT 手册的练习 3.7(第 31 页),我尝试定义斐波那契函数:

fibo 1 = 1
fibo 2 = 1
fibo n = fibo(n-1) + fibo(n-2)
Run Code Online (Sandbox Code Playgroud)

然后我要求

fibo(3)
Run Code Online (Sandbox Code Playgroud)

并得到:

*** Exception: stack overflow
Run Code Online (Sandbox Code Playgroud)

当我查看练习的解决方案时,我发现了完全相同的代码(不同之处在于该函数被称为 fib 而不是 fibo)。我究竟做错了什么?

(手册是 2006 年的,可能中间语言变了?)(讽刺的是我问 stackoverflow 一个堆栈溢出的问题……)

stack-overflow haskell fibonacci

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