python - 将多维数组从 perl 脚本传递到 python 脚本

标签 python arrays perl

这是我正在做的:

我正在使用一个多维数组,或者更确切地说,一个散列数组,并试图将它从我的 perl 脚本传递到 python 脚本中。目前我正在将它转换为 json,然后将 json 字符串作为文字字符串作为参数传递给 python 脚本。

哈希数组如下例所示:

 %HoH = (
id10001 => {
    lat   => "180",
    long  => "-180",
},
id10002 => {
    lat   => "180",
    long  => "-180",
},
id10003 => {
    lat   => "180",
    long  => "-180",
}
);

然后我在我的 perl 脚本中,把它变成一个 json 字符串:

{
    "id10001": { "lat": "180", "lon": "-180" },
    "id10002": { "lat": "180", "lon": "-180" },
    "id10003": { "lat": "180", "lon": "-180" },
}

然后将其传递到 python 脚本中。 python脚本将json字符串解码回原来构造的数组结构。

是否有更好的方法将数组或多维数组从 perl 脚本传递到 python 脚本?

提前感谢您的帮助

最佳答案

不,根据其定义,序列化是通过纯字符缓冲区(例如命令行参数、文件或其他)传递数据的唯一方法。只要特定的序列化格式(在这种情况下是 JSON)自然涵盖特定于语言的结构,您就已经准备就绪。

如果您愿意,可以尝试使用 Perl 和 Python 都可用的序列化格式的基准库,看看哪种在您的情况下会更快,但至少 Perl 的 JSON XS 实现是众所周知的非常快并且经常被击败加速其他可用的序列化程序。

关于python - 将多维数组从 perl 脚本传递到 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314940/

相关文章:

xml - 查找子节点的值

regex - 如何在 Perl 中提取用双引号括起来的子字符串?

macos - Unix 命令(Mac 操作系统): cut and move rows

python - 获取 key 错误 : 61 while iterating through the rows

python - 迭代多个 numpy 数组并处理当前和先前元素的有效方法?

arrays - Arduino - 高效地迭代 C 数组

c - 使用在 C 中动态分配的结构数组

Python 和 JSON 错误 - TypeError : string indices must be integers

python - BeautifulSoup - urllib.error.HTTPError : HTTP Error 403: Forbidden

python - 实现具有自定义约束的 Python 求解器