Nikolai asked me how to open a Python interpreter prompt from the console with a certain module already imported. For the record, the Python command line switches tell us that
python -i -m module
is the way to start the prompt and load module.py
. That made me wonder whether I can stuff it all into one batch file, and I came up with the following test.bat
:
REM = '''
@COPY %0.bat %0.py
@python %0.py
@DEL %0.py
@goto :eof ::'''
del REM
for k in range(70):
print(k)
That script will ignore the first line because it is a comment, then copy itself to test.py
, then launch python with this argument. Afterwards, test.py
is deleted and the script terminates without looking at any of the following lines. Note that ::
is yet another way to comment in Batch. Python, however, will see a script where the variable REM
is defined as a multi-line string and deleted right after that. After this little stub, you can put any python code you want. Well. I thought it was funky.