[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 949825667@qq.co 于 2016-9-2 21:34 编辑

无意中看到的,不知道算不算挖坟!
算是一种思路吧!效率还不错!
  1. open($IN,'<jd.txt');
  2. open($IN1,'<stem.txt');
  3. open($OUT,'>out.txt');
  4. while(<$IN1>){
  5.   ($C,$D)=split(/\s+/,$_);
  6.    $dic1{$C}=$D;
  7. }
  8. while(<$IN>){
  9.   ($A,$B)=split(/\s+/,$_);
  10. if(exists $dic1{$A}){
  11. print $OUT "$A $B $dic1{$A}\n";
  12. }else{
  13.   print $OUT "$A $B\n";
  14. }}
复制代码
1

评分人数

    • 523066680: 格式还是可以更好看一些的PB + 6
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 523066680 于 2016-9-2 20:59 编辑

没有缩进,差评!

也写了一个
  • open $RA, "<:raw", "jd.txt";
  • open $RB, "<:raw", "stem.txt";
  • open $WRT, ">:raw", "out_jd.txt";

  • my $line;
  • my %hash;
  • while ($line = <$RB>)
  • {
  •     $line =~ /(.*?)\s+(\w+)/;
  •     $hash{$1} = $2;
  • }

  • while ($line = <$RA>)
  • {
  •     $line =~ s/\r?\n$//;
  •     $line =~ /^(.*?)\s+/;
  •     print $WRT $line;
  •     print $WRT "\t".$hash{$1} if (exists $hash{$1});
  •     print $WRT "\r\n";
  • }

  • close $RA;
  • close $RB;
  • close $WRT;

TOP

回复 17# 523066680


    尽量养成好习惯!python就不用担心缩进问题!不缩进会提醒!
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 523066680 于 2016-9-2 21:04 编辑

回复 18# 949825667@qq.co


    你的输出结果不对,后面的信息没追加成功。
例如
  1. 挻 dmiy dy
复制代码

TOP

回复 19# 523066680


    我先删除代码,再检查一下
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 949825667@qq.co 于 2016-9-2 21:36 编辑

回复 20# 949825667@qq.co


    改了一下,可以了,和你的结果比对了一下!没啥问题了!
啥都不懂,啥都不会!学的还慢!

TOP

本帖最后由 kongfuzhou 于 2018-5-21 15:43 编辑

先定义一个list把所有要写入txt的文本放进去,然后把list字符串链接成一个字符串,最后写入文件。速度还可以快5、6倍,本地测试300ms左右

例如:
  1. words = []
  2. words.append(lineStr)
  3. txt = "".join(words)
复制代码

TOP

返回列表