【发布时间】:2016-07-21 08:16:45
【问题描述】:
我在 python 3 解释器中工作,我想用它来做作业。
首先,我有一个像这样的名为 mylibrary.py 的库
from math import pi
def area_circle(r):
return(r*r*pi))
其次,我有一个像这样叫homework.py的脚本
from mylibrary import *
area_circle(3)
area_circle(5)
area_circle(3) + area_circle(5)
现在,我想进入 python 解释器并以某种方式执行脚本homework.py,就好像我已经将这些行直接输入到解释器中一样,我希望结果显示在屏幕上,因为解释器通常会显示它们。
在 BASH 提示符下:
$python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exec "homework"
有这样的命令吗?我希望它读取我的脚本并将这些行输入到解释器中,以便接下来出现在屏幕上的是:
>>> from mylibrary import *
>>> area_circle(3)
28.274333882308138
>>> area_circle(5)
78.53981633974483
>>> area_circle(3) + area_circle(5)
106.81415022205297
请注意,我没有Idle,我没有iPython,我只有从 BASH 提示符访问的解释器。
我知道我可以替换库中的函数来显式调用打印函数,如下所示:
def area_circle(r):
a=r*r*pi
print(a)
return()
但我不希望这样,因为它会阻止我将此函数用作未来函数的构建块。
所以我想我要问的是如何以最简单的方式将homework 脚本逐行执行到解释器中。
【问题讨论】:
-
您可以从 bash 运行
homework.py,方法是将文件名传递给解释器:python3 homework.py。 -
这个答案没有输出任何结果
-
如果你想在运行代码后进入交互式python,你可以使用
-i选项:python3 -i homework.py。它运行您的代码,然后给出>>>提示,以便您可以查询变量。 -
这只有在我将每个结果存储在一个单独的变量中时才有效,而且它也不会打印出脚本中的命令。对于作业,我希望显示命令及其结果输出。
标签: python python-3.x exec interpreter