On Tue, Jun 10, 2014 at 05:23:12AM +0300, Paul Sokolovsky wrote: > execfile() builtin function was removed in 3.0. This brings few > problems: > > 1. It hampers interactive mode - instead of short and easy to type > execfile("file.py") one needs to use exec(open("file.py").read()).
If the amount of typing is the problem, that's easy to solve: # do this once def execfile(name): exec(open("file.py").read()) Another possibility is: os.system("python file.py") > 2. Ok, assuming that exec(open().read()) idiom is still a way to go, > there's a problem - it requires to load entire file to memory. But > there can be not enough memory. Consider 1Mb file with 900Kb comments > (autogenerated, for example). execfile() could easily parse it, using > small buffer. But exec() requires to slurp entire file into memory, and > 1Mb is much more than heap sizes that we target. There's nothing stopping alternative implementations having their own implementation-specific standard library modules. steve@orac:/home/s$ jython Jython 2.5.1+ (Release_2_5_1, Aug 4 2010, 07:18:19) [OpenJDK Server VM (Sun Microsystems Inc.)] on java1.6.0_27 Type "help", "copyright", "credits" or "license" for more information. >>> import java >>> So you could do this: from upy import execfile execfile("file.py") So long as you make it clear that this is a platform specific module, and don't advertise it as a language feature, I see no reason why you cannot do that. -- Steven _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com