我在终端中运行时有一个python脚本:
py filename.py
工作正常。但是这种风格:
./filename.py
我收到Permission denied错误。知道为什么吗?提前谢谢。
答案 0 :(得分:3)
我的猜测是python本身具有-x(可执行)权限,但filename.py不是
答案 1 :(得分:3)
您的文件需要标记为可执行文件。您可以使用ls(1)
查看其当前权限,并使用chmod(1)
更改其权限:
ls -l filename.py
chmod a+x filename.py
您还需要确保脚本的第一行正确hashbang:
#!/usr/bin/py
# the rest of your script...
答案 2 :(得分:2)
执行./filename.py
时,它会执行脚本。
当您执行py filename.py
时,py
程序会在filename.py
中读取并运行。
答案 3 :(得分:1)
在posix compiliant系统中有三种类型的权限:读取,写入和执行。您根本没有权限执行该脚本。要添加权限,您必须调用以下内容:
chmod +x filename.py
您必须记住,即使您要添加执行权限(如果您在开头没有./filename.py
),#!/usr/bin/py
也不会执行您的Python脚本。 Python脚本需要在解释器中执行 - 而不是作为独立的应用程序执行。