[英]How can I run the Python3 interpreter with variables/references/etc as defined in a python file?
我是python的新手,喜欢学习语言。 我喜欢实时使用解释器,但我仍然不完全理解它是如何工作的。 我希望能够使用变量,导入,函数来定义我的环境,然后所有其余的都使用已经准备好的解释器运行解释器。 当我运行我的文件(使用PyCharm,Python 3.6)时,他们只需执行并退出。
是否有一些行放在我的.py文件中,就像调用解释器的main函数一样? 有没有办法从解释器运行我的.py文件,我可以继续调用函数和声明变量?
我知道这是一个全新的问题,但请解释如何做到这一点或为什么我完全没有得到它。
您可以通过执行以下操作来实现您想要的结果:
python -i myscript.py
。 使用-i
调用运行脚本然后将您放入解释器会话中,所有这些导入等已经执行。
如果你想节省每次调用Python的工作量,请将其添加到.bashrc
文件中:
alias python='python -i /Users/yourname/whatever/the/path/is/myscript.py'
您可以按照以下答案中的建议设置环境变量PYTHONSTARTUP
: https : //stackoverflow.com/a/11124610/1781434
我认为你要问三个不同的东西,但我们会把它算作一个问题,因为它们不是很明显它们是不同的东西:
我希望能够使用变量,导入,函数来定义我的环境,然后所有其余的都使用已经准备好的解释器运行解释器。
要自定义交互式解释器的环境,请定义环境变量PYTHONSTARTUP
。 你如何做到这一点取决于你的操作系统。 它应该设置为文件的路径名(使用绝对路径),其命令将在您收到提示之前执行。 这个答案 (由托比亚斯发现)告诉你如何。 如果您总是希望执行一组固定的初始化,这是合适的。
当我运行我的文件(使用PyCharm,Python 3.6)时,他们只需执行并退出。
从命令行,您可以使用python -i scriptname.py
执行python脚本,并在脚本完成后获得交互式提示。 请注意,在这种情况下,将忽略PYTHONSTARTUP
:如果没有显式操作,脚本在自定义环境中运行并不是一个好主意。
有没有办法从解释器运行我的.py文件,我可以继续调用函数和声明变量?
如果你有一个文件myscript.py
,你可以在交互式Python提示符中键入import myscript
,或者将其放在另一个脚本中,然后执行你的脚本。 然后您的环境将有一个新模块myscript
。 您可以使用以下变体按需导入自定义定义(假设Python可以找到文件myconfig.py
):
from myconfig import *
同样,这通常不是一个好主意; 您的程序应该通过使用顶部的特定导入显式声明其所有依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.