diff -r df2fdd42b375 Lib/shlex.py --- a/Lib/shlex.py Mon Aug 26 22:28:21 2013 +0200 +++ b/Lib/shlex.py Tue Aug 27 21:57:27 2013 +0800 @@ -292,13 +292,19 @@ if __name__ == '__main__': if len(sys.argv) == 1: + f = None lexer = shlex() else: file = sys.argv[1] - lexer = shlex(open(file), file) - while 1: - tt = lexer.get_token() - if tt: - print("Token: " + repr(tt)) - else: - break + f = open(file) + lexer = shlex(f, file) + try: + while 1: + tt = lexer.get_token() + if tt: + print("Token: " + repr(tt)) + else: + break + finally: + if f: + f.close()