从命令行执行 Python 函数
问题:
如果我有以下情况Python 代码:
def hello(): return 'Hi :)'
如何直接从命令行执行此函数?
理解问题:
Python 脚本通常具有main() 函数,包含脚本运行时要执行的代码。但是,如果此函数不存在或者您要运行的函数不是主函数,则直接从命令行执行它可能会很棘手。
解决方案:
有多种方法可以使用 -c(命令)参数从命令行运行特定的 Python 函数:
1.导入模块和命名空间污染:
$ python -c 'import foo; print foo.hello()'
此方法导入 foo 模块并直接从中调用 hello() 函数。但是,它将 foo 模块的整个命名空间暴露给解释器。
2.选择性导入且无命名空间污染:
$ python -c 'from foo import hello; print hello()'
此方法仅导入 hello() 函数,不会污染解释器的命名空间。如果您想最大程度地减少名称冲突,这是一种更干净且首选的方法。
3.命名空间控制的中间导入:
$ python -c 'from foo import *; print hello()'
此选项将整个 foo 模块导入到解释器的命名空间中。虽然它不需要在函数调用前加上模块名称前缀,但如果模块包含许多函数,则可能会导致命名空间污染。
以上是如何直接从命令行执行Python函数?的详细内容。更多信息请关注PHP中文网其他相关文章!