#! /usr/bin/env python3 charset = None def xml_decl_handler(version, encoding, standalone): global charset charset = encoding raise StopIteration if __name__ == '__main__': try: import sys import xml.parsers.expat parser = xml.parsers.expat.ParserCreate() parser.XmlDeclHandler = xml_decl_handler parser.ParseFile(open(sys.argv[1], 'rb')) except: pass if charset: print(charset)