有没有办法在 .py 文件中创建一个 REPL,让用户可以访问它的整个上下文?

Is there a way to create a REPL in a .py file that gives user access to it's entire context?

我可以制作一个简单的 REPL 来解析输入并根据自定义逻辑进行处理。我想知道是否以及如何在 .py 文件中创建一个 REPL,类似于在终端中打开 python,但包括对文件的属性、方法和 类 的访问。例如,他们可以键入 print('hello world') 它会执行此操作,或者他们可以在下面调用 cpu.ram_write()。

# Should be obvious what I am doing here. There's a CPU class above with a few methods and properties. 
cpu = CPU()
print(cpu.ram_read(4))
cpu.ram_write(5,4)
print(cpu.ram_read(4))

# This is where I want the REPL
while True:
    x = input("Enter a command: ")
    if x == 'q':
        quit()
    try:
        x
    except:
        print("error")

是的,在 python 程序中的任何位置都可以生成 REPL。

import code

# launch a REPL
code.interact(local=globals()) 

Reference docs