51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3590|回复: 7
打印 上一主题 下一主题

如何进行文档间的比较

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-1-31 11:38:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题:
1)有N个*.txt文件,如何将它们完全合并在一个文档(N个*.txt文件里存储的都是词组)
2)从合并完的文件里,如何取出词,来和标准词库进行比较,查看该词是否正确(标准词库已经整理出来)

如何使用脚本来实现
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-1-31 12:00:57 | 只看该作者
1、在WinRunner中有提供的文件操作函数
file_getline ( file_name, out_line ); 读取文件下一行,并将其分配给一个变量
file_printf ( file_name, format, exp1 [ , exp2,... exp30 ] ); 按格式打印文件
可完成文件合并.
2、不知合并完成的文件与标准词库对比有什么样的关系?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-2-1 09:52:50 | 只看该作者

文档比较

有2个非常类似的文档,一个是标准词库,一个是有问题的词库,如何进行比较,并且把不同的词,提取出来,存储在另外一个文档里。
如何实现啊,请赐教,最好帮偶写个脚本啊
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-2-1 10:19:34 | 只看该作者
文件合并脚本
file_open("E:\\test\\test1.txt",FO_MODE_READ);
file_open("E:\\test\\test2.txt",FO_MODE_APPEND);
i=0;
while(file_getline("E:\\test\\test1.txt",line)==0)
{
    i++;
    file_printf("E:\\test\\test2.txt","%s\r\n",line);
}
file_close("E:\\test\\test1.txt");
file_close("E:\\test\\test2.txt");
文件对比:
file_compare ( file1, file2 [ , save_file, ignore_white_chars ] );

ignore_white_chars   是否进行对比 像"","\r","\n", 和 "\ t"这样的特殊字符,

                     0:进行对比;1:不进行对比。


如:file_compare("E:\\test\\test1.txt","E:\\test\\test2.txt","save",1);
程序依次比对文件中每行的内容.
运行结果中查看时
两个文件的内容不同时,会在左右两侧窗口中显示,内容不同的会以黄色显示,双击内容就会只显示内容不同的部分.

[ 本帖最后由 lsy325 于 2007-2-1 10:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-2-1 10:23:17 | 只看该作者

谢谢楼上

能不能将不同的都提取出来,保存在另一个文档,这可是词库啊,有30多万行!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-2-1 10:43:40 | 只看该作者
在结果中查看内容,可以只显示内容不同的,不需要再写文件吧.

要是写文件的话,你可以把像合并文件那样写成循环,读取两个文件的内容,比较变量值,不相同的再写到别一个文件中就行了.
file_getline ( file_name, out_line );读取文件下一行,并将其分配给一个变量
file_printf ( file_name, format, exp1 [ , exp2,... exp30 ] );按格式打印文件
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-2-7 00:22:16 | 只看该作者
to:lsy325,  file_compare("E:\\test\\test1.txt","E:\\test\\test2.txt","save",1);只是依次比对文件中每行的内容.不能实现文件A中存在的单词是否在文件B中存在,之前我也做了相关的例子。

[ 本帖最后由 jackiepsq 于 2007-2-7 00:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-2-7 09:32:00 | 只看该作者
你这是要查询A文件中的单词是否存在B文件中,可以借用记事本来完成操作。
参考一下:
        text="合并后的文件内容";     #text是从A文件中读取的内容
#用记事本打开B文件
# B.txt - 记事本
        set_window ("B.txt - 记事本", 4);
        obj_type ("Edit","<kCtrl_R-kHome_E>");    #把光标定位到文件开头
        menu_select_item ("编辑(E);查找(F)... Ctrl+F");
        win_wait_info("查找","enabled",1,5);
# 查找
        set_window ("查找", 4);
        edit_set ("查找内容(N):", text);
        button_press ("查找下一个(F)");
        if(win_wait_info("记事本","enabled",1,5)==E_OK)     #“记事本”是指查找不到时弹出的确定窗口
        {               
                report_msg(text);      #该内容不存在于文件B中,可用WinRunner中提供的文件操作,存放到另外一个文件中。
                set_window ("记事本", 4);
                win_close ("记事本");        
        }
        win_close ("查找");
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-10-5 22:24 , Processed in 0.099454 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表