#!/usr/bin/env python3 ''' A "self-verifying" quine - ` ` will only print itself if `` has the same output as `cat ` ''' source = r'''{foreword} import sys, subprocess if len(sys.argv) > 1: with open(sys.argv[1], 'rb') as f: quine = f.read() output = subprocess.check_output("%s %s" % (sys.executable, sys.argv[1])) if quine != output: sys.exit(1) foreword = """#!/usr/bin/env python3 \'\'\' A "self-verifying" quine - ` ` will only print itself if `` has the same output as `cat ` \'\'\' source = r\'\'\'""" last_line = 'source.format(foreword=foreword + source + "\'\'\'", program=last_line)' sys.stdout.write({program}) ''' import sys, subprocess if len(sys.argv) > 1: with open(sys.argv[1], 'rb') as f: quine = f.read() output = subprocess.check_output("%s %s" % (sys.executable, sys.argv[1])) if quine != output: sys.exit(1) foreword = """#!/usr/bin/env python3 \'\'\' A "self-verifying" quine - ` ` will only print itself if `` has the same output as `cat ` \'\'\' source = r\'\'\'""" last_line = 'source.format(foreword=foreword + source + "\'\'\'", program=last_line)' sys.stdout.write(source.format(foreword=foreword + source + "'''", program=last_line))