基於Python的對拍debug工具

2022-04-11 00:49:50 字數 767 閱讀 1033

指令碼程式基於python3.4,請先配置好環境。

import os

def run():

# 執行程式並輸出結果

os.system('my.exe < in.txt > my.dat')

os.system('right.exe < in.txt > right.dat')

def check():

# 逐行對比執行結果

my = open('my.dat', 'r')

right = open('right.dat', 'r')

log = open('log.txt', 'w')

log.write('-----------all error-----------\n')

for (i, (a, b)) in enumerate(zip(my, right)):

if a != b:

log.write('line ' + str(i+1) + '\n')

log.write('---my:' + a)

log.write('---ac:' + b)

if __name__ == '__main__':

run()

check()

in.txt------資料輸入檔案

my.exe----你的程式

right.exe--ac的程式

my.dat----你的程式的輸出

right.dat--ac程式的輸出

log.txt----輸出結果對比

對拍程式的寫法

每次對拍都是查這裡。一來二去就會寫了。由於對windows系統並不了解 linux就更不了解了 所以口胡可能有紕漏歡迎指正。首先新建乙個資料夾 對拍 這個資料夾叫什麼放在哪都無關緊要 在這個資料夾下放入製造資料的程式data.exe,你的程式test.exe,標程std.exe。其它檔案在這個資料夾...

正確的對拍方式

看到 keven he 在大力傳播錯誤的對拍方式,我覺得應該寫一下怎麼正確對拍了 目錄執行 比較示例 東方 project ad reference 對拍大概就是倆程式然後不斷隨機資料比較倆程式輸出 其中乙個程式是保證對的,例如賀的題解或打的暴力 相當於全自動 hack 機 關於隨機我覺得 mivi...

關於c 對拍的辦法

眾所周知,在 oi 學習以及考試中,對拍是一件非常重要的事。有了對拍後,我們可以利用它發現 上的一些非常難看出來的錯誤。編寫對拍程式一般有兩個辦法。編寫乙個對拍的 cpp 並且利用檔案操作和 fc 進行輸出答案的判斷。fc 是系統的函式,可以判斷兩個檔案是否一致。注意 一定要將所有的 cpp 和 e...