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



    先将终端所在路径切换到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,谢谢先
  • 相关阅读:
    移动应用跨平台之旅
    ReactNative之坑爹的在线安装
    关于拆箱装箱引发的类型转换报错
    Unity HDR (高动态范围 )
    Instruments如何看Mono内存分配
    Unity编辑器崩溃大全
    Unity3D获取手机存储空间
    关于构建AssetBundle哈希冲突的问题
    关于UnityWebRequest的超时讨论
    Wwise音频插件介绍
  • 原文地址:https://www.cnblogs.com/lizunicon/p/3509393.html
Copyright © 2020-2023  润新知