mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
bpo-32984: IDLE - set __file__ for startup files (GH-5981)
Like Python, IDLE optionally runs one startup file in the Shell window before presenting the first interactive input prompt. For IDLE, option -s runs a file named in environmental variable IDLESTARTUP or PYTHONSTARTUP; -r file runs file. Python sets __file__ to the startup file name before running the file and unsets it before the first prompt. IDLE now does the same when run normally, without the -n option.
This commit is contained in:
parent
18fd892463
commit
22c82be5df
2 changed files with 10 additions and 0 deletions
|
@ -635,6 +635,9 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
|||
if source is None:
|
||||
with tokenize.open(filename) as fp:
|
||||
source = fp.read()
|
||||
if use_subprocess:
|
||||
source = (f"__file__ = r'''{os.path.abspath(filename)}'''\n"
|
||||
+ source + "\ndel __file__")
|
||||
try:
|
||||
code = compile(source, filename, "exec")
|
||||
except (OverflowError, SyntaxError):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue