无法从终端运行某些Python文件。权限被拒绝?

5
下面的错误是由什么引起的?
-bash: ./proj.py: Permission denied

我有一个名为projsol.py的文件,当我在终端中输入./projsol.py --summary *.html时,它可以完美运行。
然而,当我输入./proj.py --summary *.html时,我得到了上述错误。我已经将projsol.py的整个内容复制并粘贴到了proj.py中,尝试再次运行命令,但它仍然给出了上述bash错误。是什么原因导致这种情况?
注:我非常新手编程,并且对终端和Python非常不熟悉,请用通俗易懂的方式解释(非常感谢!)。

5
有几个权限位用于“执行”文件的能力。您可以使用 chmod +x proj.pypython proj.py --summary *.html - Ry-
@minitech 但我不明白为什么同样的命令(减去文件名)适用于一个文件而不适用于另一个文件,即使内容和位置完全相同。 - TheRealFakeNews
另一个文件的权限不同,即某些操作已经执行了 chmod +x - Ry-
2个回答

4

按照以下方式运行chmod命令来操作文件:

sudo chmod +x proj.py

这将为文件分配可执行位。

如果这不起作用,请在与proj.py相同的目录中运行以下命令,并提供输出:

ls -al

这将提供一个目录转储以及文件的权限和用户/组权限。某些设置不正确。


1

您可能没有足够的权限来执行该文件。 请通过运行以下命令检查您的文件权限

ls -al

它将输出定义为该文件的权限的输出,应该看起来像这样。
-rwxrw-r--   1 <fileowner>  110247009  1276 Sep 28 15:43 <yourfilename>

请查看此文章以了解输出https://www.garron.me/en/go2linux/ls-file-permissions.html

您可以使用chmod/chown命令更改文件的权限/所有权,请参考这些命令的手册页面以获取更多详细信息。希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接