2016-01-23 106 views
1

假设有一个模块的地方,我可以用如何从命令行运行模块?

from sound.effects import echo 

如何从命令行运行echo直接导入?

命令

python sound/effects/echo.py 

不起作用,因为相对路径通常是不正确

+2

*相对路径**一般**不正确*这是什么意思? –

+0

也许'python -m sound.effects.echo'? – Copperfield

+0

@TimCastelijns在命令执行前执行'cd/usr/local/lib/python2.7/dist-packages /'可能会变得正确 – Dims

回答

5

如果模块对进口执行顶级代码,你可以使用-m switch在命令行运行它(使用Python属性表示法):

python -m sound.effect.echo 

该模块然后作为脚本执行,所以一个if __name__ == '__main__':后卫意愿p屁股。例如,请参阅timeit module,该命令在从命令行运行时执行timeit.main()函数。