import os, subprocess, sys MAX_TRIES = 5 dfhack = 'Dwarf Fortress.exe' if sys.platform == 'win32' else './dfhack' test_stage = 'test_stage.txt' def get_test_stage(): if os.path.isfile(test_stage): return open(test_stage).read().strip() return '0' os.chdir(sys.argv[1]) if os.path.exists(test_stage): os.remove(test_stage) tries = 0 while True: tries += 1 stage = get_test_stage() print('Run #%i: stage=%s' % (tries, get_test_stage())) if stage == 'done': print('Done!') os.remove(test_stage) sys.exit(0) if tries > MAX_TRIES: print('Too many tries - aborting') sys.exit(1) os.system(dfhack)