簡體   English   中英

將Perl哈希寫入磁盤以供Python讀取

[英]Writing a Perl hash to disk to be read by Python

如何以一種可以從Python讀取的方式將Perl哈希寫入文件?

例如:

#!/usr/bin/perl
my %h = (
   foo => 'bar',
   baz => ['a', 'b', 'c'],
   raz => {
       ABC => 123,
       XYZ => [4, 5, 6],
   }
);

dumpHash('/tmp/myhash', %h);

...和

#!/usr/bin/python
h = readHash('/tmp/myhash')
print h

# {
#  'foo': 'bar', 
#  'baz': ['a', 'b', 'c'],      
#  'raz': {
#          'ABC': 123, 
#          'XYZ': [4, 5, 6]
#         }
# }

我通常使用Perl的內置Storable來序列化哈希值。 我看到Python具有Storable閱讀器 ,但它不是標准發行版的一部分。

有沒有一種方法可以使用兩種語言的標准內置程序來執行此操作。

我在初讀您的問題時錯過了“內置”要求,但我離題了。 JSON不是Perl內置的,因此您必須通過CPAN進行安裝。 盡管如此,這可能是最有效且兼容的方法之一。

Perl:

use warnings;
use strict;

use JSON;

my $file = 'data.json';

my %h = (
   foo => 'bar',
   baz => ['a', 'b', 'c'],
   raz => {
       ABC => 123,
       XYZ => [4, 5, 6],
   }
);

my $json = encode_json \%h;

open my $fh, '>', $file or die $!;

print $fh $json;

close $fh or die $!;

蟒蛇:

import json

file = 'data.json';
data = json.loads(open(file).read())

print(data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM