如何让linux在Python解释器中自动运行我的python脚本?

时间:2012-06-16 18:07:19

标签: python linux

我已经决定,在我的.NET泡沫之外移动并开始尝试其他技术对我有好处。我运行了Ubuntu12并安装了python2.7和3.2。我可以直接在解释器中运行代码。

我在文件系统上有一个名为Standalone.py的基本脚本:

#!/usr/bin/env python3.2

import sys

print("this is a standalone script.")

当我在我的bash提示符下时,我输入$ python3.2 Standalone.py。我收到回复说this is a standalone script。但是当我输入$ Standalone.py时,它会告诉我找不到命令。

如何运行此类脚本?

感谢您的帮助。

更新

我将Standalone.py的权限更改为755.然后我运行了命令:

$ ./Standalone.py

并收到消息:

: No such file or directory

然后我将Standalone.py的权限切换回644.然后当我运行

$ ./Standalone.py

我收到了消息

-bash: ./Standalone.py: Permission denied

我有什么遗失的吗?

5 个答案:

答案 0 :(得分:9)

  1. 您需要使用

    使脚本可执行
    chmod +x Standalone.py
    
  2. 通常,不会搜索当前目录中的可执行文件,因此您需要使用

    ./Standalone.py
    

    告诉shell脚本在当前目录中。

答案 1 :(得分:3)

确保您的脚本文件具有linux换行符(仅\n)而不是windows换行符(\r\n)。你在Windows上编写脚本了吗?这发生在我身上一次。您应该检查编辑器设置。

答案 2 :(得分:2)

  1. 您的脚本应以#!/usr/bin/python而不是#!/usr/bin/env python3.2

  2. 开头
  3. 确保您位于脚本所在的文件夹中,您可以使用ls

  4. 查看
  5. chmod +x Standalone.py

  6. ./Standalone.py

答案 3 :(得分:0)

首先,为了执行一个脚本,它需要是可执行的。所以你要么做chmod + x $文件还是chmod 0740 $文件。当您将文件权限设置为644时,您将立即执行,因此如果给您一个错误。如果您不确定执行权和八进制表示法,可以使用:http://permissions-calculator.org/decode/0644/。 要真正回答你的问题,如果你想用$ file.py调用脚本,它需要在你的PATH变量中。您可以使用echo $ PATH显示它。这些是搜索要执行的脚本的目录。因此,您只需要为脚本提供正确的可执行文件,并将其放在PATH提供的目录中。

答案 4 :(得分:0)

你能检查/ usr / bin / python或/usr/bin/python3.2是否存在

执行以下comamnd:

which python3.2

然后在脚本顶部使用生成的路径。