假设您在python交互式shell中,键入前两行:
>>> import math #just to have a statement as well as an expression
>>> [x * 2 for x in [1, 2, 3, 4]]
[2, 4, 6, 8]
>>>
如您所见,结果是在不使用打印功能的情况下打印的。
现在,如果我们将执行的代码保存在名为tempcode.py
的文件中:
import math #just to have a statement as well as an expression
[x * 2 for x in [1, 2, 3, 4]]
问题是是否可以在python shell中加载/执行导致打印结果的文件?你知道吗
更新:我真正想做的是执行保存在文件中的代码行,并使python shell将其视为在文件中键入的代码。换句话说,我需要的是在一个文件中编写几行代码,而不是在repl中手动输入,并使它们产生相等的输出。节点.jsrepl有这个特性:.load
更清晰的更新:预期行为
>>> aBuiltinThing('tempcode.py')
[2, 4, 6, 8]
>>>
**问题**:python有aBuiltinThing
吗?你知道吗
可以在pythonshell中运行python文件。像这样
其中
abc.py
是这样的。你知道吗如果在从shell执行时删除
abc.py
中的print
,它将不会打印任何内容。你知道吗如果
abc.py
像这样。你知道吗结果在壳里会是这样。你知道吗
注意:
execfile
在python2
中。你知道吗感谢您的澄清,我已经根据您的更新编辑了我的答案。另外,我不确定您需要打印什么,因为您的python文件可以有n个变量和方法。最好的方法是执行python文件,并将文件的已执行对象保存在字典中,该字典可以用作下图:-你知道吗
测试.py:-
实际的python脚本
现在要打印方法return\u的值,您可以用途:-你知道吗
或获取变量a:-
这将适用于python2和python3的python版本
如果您愿意牺牲标准输出而不使用print语句,我相信您可以使用
您可以在执行时使用-i命令行参数,这将执行您的代码,并在最后提供控制,而不必重写REPL中的整个文件。您将能够像往常一样访问文件中的所有变量和其他内容。你知道吗
您可以在python文档here中找到更多信息
相关问题 更多 >
编程相关推荐