Python 与Perl读取文件并存入字典(哈希)代码对比

  1. Python 易读性强,便于维护

fp = open("dict-info.txt", "r")
sample = fp.readlines()
result_dict = {} #定义全局字典
for line in sample:
  try:
   line = line.rstrip("\n").split(',')
   result_dict[line[0].split(' ', 1)[0]] = line[0].split(' ', 1)[1]  #字典加入
  except IndexError as s:
   pass
print(result_dict)
fp.close()

fpi = open("input-info.txt", "r")     #输入查询文件
fpo = open("output-info.txt", "w")    #输出查询结果
lines_in = fpi.readlines()
for line in lines_in:
  try:
   line = line.rstrip("\n").split(',')
   a=line[0].split(' ', 1)[0]
   if a in result_dict:
       print(line[0].split(' ', 1)[0] + ' ' + result_dict[line[0].split(' ', 1)[0]])
       fpo.write(line[0].split(' ', 1)[0] + ' ' + result_dict[line[0].split(' ', 1)[0]]+"\n")
   else:
       print(line[0].split(' ', 1)[0])
       fpo.write(line[0].split(' ', 1)[0]+"\n")
  except IndexError as s:
   pass
fpi.close()
fpo.close()
  1. Perl 语法简洁,但不易看懂

my %hash_all;
open(HASHFILE,"all.txt") || die "cannot open HASHFILE!";
while(<HASHFILE>) {
$_=~ s/[\r\n]+//g; 
my @info = split(" ",$_);

$hash_all{$info[0]} = $info[1];   #存入哈希
#print "$info[0] $hash_all{$info[0]}\n";
}
close(HASHFILE);

open(INFILE,"input.txt") || die "cannot open INFILE!";  #输入查询文件
open(OUTFILE,">target_info.txt") || die "cannot open OUTFILE!"; #输出查询结果
while(<INFILE>) {
$_=~ s/[\r\n]+//g; 
my $a=$_;
print "$a $hash_all{$a}\n";
print OUTFILE "$a  $hash_all{$a}\n";
}
close(HASHFILE);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值