您的位置:首页 > 运维架构 > Linux

【linux】终端直接执行py文件,不需要python命令

2014-01-07 18:20 399 查看
先将终端所在路径切换到python脚本文件的目录下
然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):
chmod 755 ./*.py
然后执行。
如果在脚本内容的开头已经给出了类似于如下的注释:
#!/usr/bin/env python
那就可以直接在终端里运行:
./*.py
如果没有这个注释
就在终端中执行:
python ./*.py
如果是有图形界面的脚本
在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可

追问
如果把文件1.py放到tmp文件夹中,如何运行?命令能写具体一点吗?脚本内容的开头有:#!/usr/bin/env python

回答
那就直接运行(假设你的文件名是A.py):
/tmp/A.py
或先切换目录,再运行:
cd /tmp
./A.py
如果该文件需要修改跟用户权限下的一些文件或目录
就将自身提升为跟用户权限:
sudo /tmp/A.py
或直接将自身提升为跟用户再运行:
su root
/tmp/A.py
另:Ubuntu等发行版默认不支持su root的操作,只能用sudo

追问
把A.py文件放入tmp文件夹中
执行sudo /tmp/A.py 出现如下提示sudo:/tmp/A.py:command not found
执行/tmp/A.py    出现如下提示:-bash:/tmp/A.py:permission denied
使用cd /tmp 然后执行出现提示和上面一样,不知道是怎么回事,是我哪里弄错了?

回答
这样的话,我知道的一般有两种情况:
1.
文件开头没有执行注释:#!/usr/bin/env python
但你之前说有这一行
2.
就是没用chmod
上面说了,最开始要给脚本设置权限
如果电脑是你一个人用,那就chmod 777 /tmp/A.py就好了
如果还有别人用,就给个chmod 755 /tmp/A.py好了
这个chmod和后面提到的哪个sudo两个都是关于权限的命令,但是是不同的,互相也没什么关系
简单点说:chmod的权限是决定谁有权去碰这个脚本(读、写、执行),而sudo的权限决定的是这个脚本有权去碰谁。

如果以上两个都试过了,还是不行,我就无能为力了
确认一下是否正确安装了python解释器吧~~
然后尝试着直接调用python去执行吧:
python /tmp/A.py
类似这样的命令。当然必要的时候chmod和sudo也是用的。

提问者评价
还是不行,不知道怎么回事。抽空学一下基本的linux,谢谢先
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: