小编Ale*_*des的帖子

有没有办法将Python代码"编译"到Arduino(Uno)上?

我有一个带有Arduino Uno的机器人类型项目,总而言之,我正在尝试一些AI算法.但是,我需要实现一些使用NumPy/SciPy非常简单的高级矩阵算法,但它们在C或C++中是一个彻头彻尾的噩梦.即使有图书馆,这也是荒谬的.

有什么方法可以用Python做这个项目吗?我想我听说Mega有这个功能的东西,但是我有一个Uno,并且在这一点上替换它不是一个选项(这会使项目恢复很多.)另外,我听说过使用Python进行通信的一些事情通过USB连接到Arduino,但是在运行时我无法连接USB电缆.我需要能够上传程序并完成它.

那里有没有选择,或者我刚刚走到尽头?

python arduino pyserial

54
推荐指数
2
解决办法
5万
查看次数

如何从终端执行php块而不保存到文件

假设我有一个代码块,我想像这样测试:

<?php 
 Print "Hello, World!";
?>
Run Code Online (Sandbox Code Playgroud)

如何从终端快速运行此代码而不将其保存到文件中?

我试过像......

php -r "Print "Hello, World!";"
Run Code Online (Sandbox Code Playgroud)

但只是抱怨语法错误.必须有一种简单的方法来做到这一点.我还没有找到任何解释.

php terminal command

26
推荐指数
2
解决办法
3万
查看次数

Numpy C++程序总是给出段错(很可能是滥用语法或类型)

我正在为python程序开发我的第一个C++扩展.我一直试图调试这段特殊的代码几个小时,我的想法不合适.

segfault似乎与PyArrayObject old_simplices_array传递给C++代码的东西有关.该对象是一种2d numpy array类型uint32.

此代码直接由scipy.weave放在一起的代码修改.当代码被scipy.weave.inline格式化并使用时,一切正常.这似乎消除了我的程序的python部分和算法本身可能成为罪魁祸首.

这只留下了语法和类型.有没有人看到任何不正确的语法或类型转换代码?

static PyObject* exterior(PyObject* self,
                          PyArrayObject* old_simplices_array)
{
    const short unsigned int step = old_simplices_array->dimensions[1];
    const short unsigned int j_max = step - 1;
    const long unsigned int col_max = 
        old_simplices_array->dimensions[0] * step;
    short unsigned int j, k, face_index;
    long unsigned int col;
    unsigned int num_simplices = 0;

    PyObject* indices = PyList_New(0);
    PyObject* indptr =  PyList_New(0);
    PyObject* data =  PyList_New(0);
    PyObject* simplices = PyList_New(0);
    PyList_Append(indptr, PyLong_FromLong(0)); …
Run Code Online (Sandbox Code Playgroud)

c++ python numpy

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

如何调用模块中子程序内部的函数?

我有一个包含子程序的模块,该子程序又包含一个函数.我use themodule在我的主程序中说我可以call thesubroutine,但是如何访问子程序中包含的函数?

代码如下所示:

module useful
  integer, parameter :: N=2
  double precision, parameter :: xmin=1, xmax=10, pi=3.1415926535898
  double complex :: green(N,N), solution(N), k=(2.0,0.0)
contains
  subroutine y(n1)
  contains
    function x(n1)
      real :: n1, x
      x=n1*(xmax-xmin)/N
    end function x
  end subroutine y
end module useful
Run Code Online (Sandbox Code Playgroud)

fortran

7
推荐指数
3
解决办法
3万
查看次数

使用Erlang的gen_tcp是一种可扩展的方法来构建高流量套接字服务器

我正在尝试学习Erlang来做一些简单但可扩展的网络编程.我基本上想要编写一个程序来完成互联网主干上的服务器 - 但规模较小.我想尝试建立一个内部网,其中包含可访问Web的服务器,这些服务器将充当内部网[sic]的网关,并将数据路由到连接的客户端和/或其他网关.

高流量来自这样一个事实:数据不仅会从客户端流向网关而是流向客户端,而是可能需要在几个网关周围反弹才能到达目的地(就像数据在互联网上传播一样).这意味着网关不仅要处理来自客户端的流量,还要处理来自其他网关客户端的流量.

我认为这会导致异常高的流量,即使对于中等数量的客户端和网关也是如此.

来自Python的背景,以及其他脚本语言的较小程度,我习惯于挖掘自定义模块来解决我的问题.我知道Erlang是专为高流量网络编程而设计的,但我能找到的所有这些东西的库/模块都是gen_tcp.

这是否意味着Erlang已经针对这种事情进行了优化,您可以使用其最基本的模块来启动它并期望它可以很好地扩展?

sockets erlang asynchronous network-programming gen-tcp

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

如何使用 Maven 将 Clojure 依赖项包含到 Java 项目中

我对 JVM 的所有东西都很陌生,想要启动一个包含 Clojure 库作为依赖项的 Java 项目。我已经看到了有关如何从 Java 运行 Clojure 代码的问题,但是当我尝试在 后运行 jar 文件时mvn package,我得到cannot find symbolvariable Clojure. 到目前为止我的代码看起来像这样:

package org.example;

import clojure.java.api.Clojure;
import clojure.lang.IFn;

public class App 
{
    public static void main( String[] args )
    {

        IFn plus = Clojure.var("clojure.core", "+");
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的 pom 文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>project</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>poi</name>
  <properties>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
  </properties>
  <url>http://maven.apache.org</url>
  <repositories>
    <repository>
      <id>clojars</id>
      <url>https://repo.clojars.org/</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled> …
Run Code Online (Sandbox Code Playgroud)

java clojure maven clojure-java-interop

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

在python中存储大对称稀疏矩阵的最有效方法

我正在起草/测试我为解决速度和效率的微分方程而设计的技术.

它需要存储,操纵,调整大小,并且(在某些时候)可能对非常大的稀疏矩阵进行对角化.我希望能够有由零和一些(比如<5)组成的行,并一次添加几个(按照使用的cpus数量的顺序).

我认为让gpu加速是有用的 - 所以任何关于采取优势的最佳方式的建议也会受到赞赏(比如pycuda,theano等)

python numpy matrix sparse-matrix

5
推荐指数
2
解决办法
4205
查看次数

如何实时读取/写入原始音频数据(使用python)?

我希望能够实时动态读取和写入音频数据.我注意到python "audioscope"打开unix/linux /dev/dsp文件并从中读取原始字节.

但是,我使用的是Mac OSX 10.5.8,双启动linux非常困难(我试过.)我想知道是否有一个特定的"标准"python模块可以读写音频数据(可能存储快照numpy数组中的数据.)我计划在线程读取/存储数据,另一个线程通过发送新信号进行响应.

截至目前,我想在我的电脑中使用音频插孔,但在某些时候,我希望能够以类似的方式使用USB声卡.那时,我希望能够控制多个信号(使用USB端口扩展器.)

我一直在寻找一段时间,我发现了一些用于音频处理的库,但它们通常基于读写文件,而不是动态数据处理.也许最好的图书馆根本就不是音频库.我实际上打算用它来控制电路,但谷歌引导我将音频作为使用电脑的最佳方式.

无论如何,我希望得到一些建议.

python audio signal-processing real-time

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

如何在 Cython 中构造元组?

我是 cython 的新手,我只是在寻找一种将 numpy 数组转换为元组的简单方法,然后可以将其添加到和/或在字典中查找。

在 CPython 中,我可以使用 PyTuple_New 并迭代数组的值(将每个值添加到元组中,就像我将它们附加到列表一样)。

Cython 似乎没有提供通常的 CPython 函数。我怎么能打开一个数组:

array([1,2,3])
Run Code Online (Sandbox Code Playgroud)

成一个元组:

(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

python arrays numpy cpython cython

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

读取/写入/解析大文本文件的有效方法(python)

说我有一个荒谬的大文本文件.我不认为我的文件会比@ 500mb大,但为了扩展性和我自己的好奇心,让我们说这是几个演出的顺序.

我的最终目标是将它映射到一个句子数组(由'?''!''.'和所有意图和目的';'分隔)和每个句子到一个单词数组.然后我将使用numpy进行一些统计分析.

这样做最具可扩展性的方法是什么?

PS:我想重写文件每行只有一个句子,但是我在尝试将文件加载到内存时遇到了问题.我知道解决方案,你在一个文件中读取数据,操纵它们,然后将它们写入另一个文件,但这对磁盘内存来说似乎效率低下.我知道,现在大多数人不会担心使用10gig的临时空间,但似乎应该有一种直接编辑文件夹头的方法.

python regex parsing

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