#!/usr/bin/env python3 import sys, string, hashlib, os from stat import * def check_file(name, size, md5sum): global result m = hashlib.md5() if os.path.isfile(name): s = os.stat(name)[ST_SIZE] if s == int(size): f = open(name, 'rb') m.update(f.read(int(size))) f.close() d = m.hexdigest() result.write("%s %d %s\n" % (name, s, d)) return d == md5sum else: result.write("Size of %s is %d\n" % (name, s)) else: result.write("%s not found\n" % name) return False if __name__ == '__main__': result = open(sys.argv[3], 'w+') fstdout = open(sys.argv[2], 'r') for line in fstdout: name, size, md5sum = line.strip().split(' ') if not check_file(name, size, md5sum): print('WA') break fstdout.close() result.close() print('AC')