【问题标题】:running scripts without using python keyword [duplicate]在不使用 python 关键字的情况下运行脚本 [重复]
【发布时间】:2015-06-20 07:25:07
【问题描述】:

我想道歉,因为这不完全是与编程相关的问题,而是我想知道的:

我安装了一个 python 库,其中包含以下文件:lib.py、lib2.py .. lib-n.py。所有这些脚本在被调用时都采用命令行参数。所以看起来像

username@machinename:~$ lib.py -s <args> -t <args> ..

现在就像您在上面看到的那样,我可以从任何目录运行这些脚本,而无需在调用它们之前使用“python”关键字。我也想用我编写的 python 脚本来做到这一点。 IE;我应该可以从任何目录调用它们,而不是“cd”到它们的位置。

P.S:使用运行 Ubuntu 12.04 和 python 2.7.3 的 Linux 机器

【问题讨论】:

标签: python unix


【解决方案1】:

将此添加到脚本顶部 -

#!/usr/bin/env python

然后使用chmod 使您的python 脚本可执行-

chmod u+x <python script>

另外,如果你不想给出python脚本的完整路径,你可以将脚本所在的目录添加到PATH环境变量中。

【讨论】:

  • ...并将该目录添加到$PATH
  • 为了挑剔,变量被称为PATH$PATH 给出值($ 是一元运算符)。有些人认为使用/usr/bin/env 是一种安全风险(因为环境变量可能会受到损害,例如“shellshock”),而更安全的chmod 是使用u+x
  • 但如果我们不使用/usr/bin/env,而是使用python的完整路径,如果python被移动,它可能无法正常工作
猜你喜欢
  • 2018-11-20
  • 1970-01-01
  • 2016-09-18
  • 2011-06-26
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多