基于python脚本的对拍debug

时间:2024-11-24 12:06:49

首先,这是python脚本

import os;

for i in range(0,20):
print ("Case:"+str(i)); print ("randoming");
os.system("randomdata.exe"); print("running right mod");
os.system("right.exe"); print ("running my mod");
os.system("my.exe"); print ("checking files");
os.system("check.exe "+str(i+1)); os.system("pause");

  os.system(order)——就相当于在cmd下输入order字符串。

把脚本放到指定文件夹中

然后放入

  randomdata.exe——随机生成数据

  right.exe——一般是确定算法正确性的程序

  my.exe——自己验证的程序

  checking.exe——验证两个程序答案的程序

randomdata.exe将生成的输入文件存放在同文件夹下的input.txt中。

right.exe接受input.txt作为输入,然后将运行结果输出到output.txt中。

my.exe接受input.txt作为输入,将结果输出到my.txt中。

check.exe接受input.txt,output.txt作为输入,比较之后输出结果到log.txt中。

顺便,check输出到log的方式为

ofstream OutFile("log.txt",ios_base::app);

这样的话,每一次运行输出到Log里面就会添加当前比较的记录,要记得把出错的输入文件保存。

可以建立一个inputs的文件夹,然后储存的时候直接储存进去。

把运行例子号利用int main(int argc,char *argv)传递到check里面

每一次再储存运行文件的时候,只要利用这个构造新文件名就可以了。

string FileName=argv[1];

FileName+=".txt";

如此即可。