我想将结果写入Python中的txt文件,其中每行必须采用句子 - 标签分数的格式:
<s> This is the sentence </s> 42
目的是获得一个&#34; score_results&#34; Perl脚本读取句子和分数,其中每行解析w / @fields = split(/\t/)
:
$count = 0;
$best = "";
$bestlp = -1000000;
while (<>) {
s/\s+[\r\n]+$//o;
@fields = split(/\t/);
if ($fields[1] > $bestlp) {
$bestlp = $fields[1];
$best = $fields[0];
}
if ((++$count % 5) == 0) {
print "$best\n";
$bestlp = -1000000;
}
}
我的问题是用Python编写结果语句,
with open("results.txt", "wb") as fout:
for sentence, score in zip(resultsSentences, resultsScores):
fout.write(sentence + "\t" + str(score) + "\n")
不起作用,因为Python编写的文件中的选项卡最终成为新行,因此无法在Perl脚本中将其识别为选项卡。 &#34; results.txt&#34;的前几行。看起来像
<s> I have seen it on him , and could write to it </s>
42.0
<s> I have seen it on him , and could migrate to it </s>
42.0
<s> I have seen it on him , and could climb to it </s>
42.0
但是使用Perl脚本运行的示例结果看起来像
<s> I have seen it on him , and could write to it </s> -46.8152390767177
<s> I have seen it on him , and could migrate to it </s> -50.5058224637686
<s> I have seen it on him , and could climb to it </s> -48.5949070950928
然后&#34; score_results&#34; Perl脚本使用bash调用运行
cat results.txt | ./score_results.pl > scores.temp
鉴于我更喜欢使用提供的Perl脚本,如何修改脚本和/或以不同方式编写结果语句?