2012-03-05 37 views
2

我正在学Python。有两种在终端中运行python的方法。运行python程序的两种方式

一个是 python xx.py
另一./xx.py

第一种方式对我的作品,但是当我试图用第二个选项来运行,我得到

-bash: ./hello.py: Permission denied 

我可以运行Python程序这种或那种方式,但我真的想知道为什么,以及应该使用什么命令来授予使用此权限的权限./

谢谢!

+0

如果您的脚本名称为'__main __ py'你也可以调用该脚本使用'python。/' – 2012-03-05 19:14:41

+0

虽然有点深奥,但这是有用的琐事。我曾经使用类似的方法来'打破'到一个嵌入式Python解释器中。当python确实是'导入'时,它会检查PYTHONPATH和sys.paths中的每个路径来加载一个程序。)所以,如果你有一个嵌入Python实例,你可以在你的CWD或site.py中放入类似'__main __。py'的东西,它会覆盖嵌入实例正在寻找的任何东西。 – synthesizerpatel 2012-03-05 19:19:43

回答

6

为了可执行,脚本必须通过chmod:chmod +x filename.py等授予执行权限。

+0

脚本也必须是chmod'd + r,这样执行程序才可以阅读他们.. – synthesizerpatel 2012-03-06 01:17:42

2

这或许应该被迁移到unix.stackexchange.com

你需要确保它有正确设置权限,文件模式755 hello.py

对于解释脚本,你需要的不仅是可执行文件,但可读,以便脚本解释器可以读取程序。

1

您需要在文件上使用change permissions以允许其可执行。在bash中:

chmod +755 ./xx.py 

然后./xx.py会工作。如果没有,您需要确保您正确使用shebang

1

首先授予“执行”权限的文件

$ chmod +x filename.py 

然后你就可以运行该脚本:

$ ./filename.py