【问题标题】:How to run module from command line?如何从命令行运行模块?
【发布时间】:2016-01-23 16:24:18
【问题描述】:

假设某处有一个模块,我可以用它导入

from sound.effects import echo

如何直接从命令行运行echo

命令

python sound/effects/echo.py

由于相对路径通常不正确,因此不起作用

【问题讨论】:

  • 相对路径一般不正确这是什么意思?
  • 也许python -m sound.effects.echo ?
  • @TimCastelijns 如果我在该命令之前执行cd /usr/local/lib/python2.7/dist-packages/ 可能会正确

标签: python


【解决方案1】:

如果模块在导入时执行顶级代码,您可以使用-m switch 从命令行运行它(使用 Python 属性表示法):

python -m sound.effect.echo

该模块随后作为脚本执行,因此if __name__ == '__main__': 守卫将通过。例如,参见timeit module,它在像这样从命令行运行时执行timeit.main() 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 2021-07-18
    相关资源
    最近更新 更多