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()
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);