2

我有一个 python 脚本,当我在终端中运行时:

py filename.py

这很好用。但有了这种风格:

./filename.py

我收到权限被拒绝错误。知道为什么吗?提前致谢。

4

4 回答 4

3

我的猜测是 python 本身具有 -x (可执行)权限,但 filename.py 没有

于 2013-02-01T20:07:31.420 回答
3

您的文件需要标记为可执行文件。您可以通过以下方式查看其当前权限ls(1)并更改其权限chmod(1)

ls -l filename.py
chmod a+x filename.py

您还需要确保脚本的第一行具有正确的hashbang

#!/usr/bin/py
# the rest of your script...
于 2013-02-01T20:09:15.753 回答
2

当你这样做时./filename.py,它会执行脚本。

当你这样做时py filename.pypy程序会读入你的filename.py并运行。

于 2013-02-01T20:07:37.547 回答
1

在 posix 兼容系统中,您拥有三种类型的权限:读、写和执行。您根本没有执行脚本的权限。为了添加权限,您必须调用以下内容:

chmod +x filename.py

您必须记住,./filename.py即使您将添加执行权限(如果您#!/usr/bin/py一开始没有),它也不会执行您的 Python 脚本。Python 脚本需要在解释器中执行 - 而不是作为独立应用程序。

于 2013-02-01T20:08:35.243 回答