【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,谢谢先
【linux】终端直接执行py文件,不需要python命令的更多相关文章
- 终端直接执行py文件,不需要python命令
然后给脚本文件运行权限,方法(1)chmod +x ./*.py方法(2)chmod 755 ./*.py (777也无所谓啦) 这个命令不去调整,会出现permission denied的错误终端直 ...
- python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused
python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...
- Python命令行执行.py文件提示ModuleNotFoundError:No module named 'XXX'解决办法
原因:在命令行执行.py文件找不到包是因为我们没有把项目路径保存,可以通过sys.path.append()保存项目路径,执行后就能成功. ############################## ...
- linux下如何执行.sh文件 【转】
Linux下如何运行.sh文件 是UNIX/LINUX 操作系统的脚本文件,SHELL文件. 本文转载自 http://whitepoplar.javaeye.com/blog/431967 Linu ...
- MonkeyRunner_批处理执行py文件
新建bat文件,使用call调用monkeyrunner执行py脚本 @echo off echo begin testcase001 %time% %date%call monkeyrunner d ...
- 执行py文件需要可执行权限吗?
案例解析 这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子: # module1.py def test(): print ('hello world!') ...
- python中执行py文件出错(提示File “<stdin>”,line 1,SyntaxError:invalid syntax)
解决办法: 上图中已通过输入python进入了python运行环境,出现>>>时候的不能再用python z.py 来运行hello.py文件: 应该通过exit()退出当前pyth ...
- 在cmd下面执行.py文件时提示ModuleNotFoundError 但是 IDE 不报错
原理是 python 解释器寻找 模块的顺序决定,不细说 简略来讲就是 在 IDE中运行,会自动帮你把项目根目录添加到 PYTHONPATH 中,但是在 cmd 运行需要自己添加. 解决方法: 1. ...
- django 中单独执行py文件修改用户名
Python文件代码 import os import django # 在environ字典里设置默认Django环境,'xxxx.settings'指Django项目的配置文件 os.enviro ...
随机推荐
- [LeetCode] Combination Sum (bfs)
Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C wher ...
- How to control printer orientation(Landscape / Portrait) for an AX report in X++
You should try this: 1. Set property Orientation on your report design to Auto 2. In your fetch meth ...
- [LeetCode]题解(python):102 Binary Tree Level Order Traversal
题目来源 https://leetcode.com/problems/binary-tree-level-order-traversal/ Given a binary tree, return th ...
- Sql Server中通配符
Sql Server中通配符的使用 通配符_ "_"号表示任意单个字符,该符号只能匹配一个字符."_"可以放在查询条件的任意位置,且只能代表一个字符.一个汉字只 ...
- svn out of date
out of date说明这个文件过期了,也就是已经有过一次提交的版本,当前提交的版本号小于当前的版本. 解决办法:先将文件update一下,然后再提交.
- python字典循环小点
对于字典数据量不大时候 首先会将字典转换成列表,写到内存,如果几百万条,就会减慢速度 for k,v in dic:print k,v 可以这样 for k in dic:print k,dic[ ...
- 转: 利用 DEBUG_NEW 来追溯 Memory leak 内存泄漏
参考: https://msdn.microsoft.com/en-us/library/tz7sxz99.aspx http://www.cnblogs.com/taoxu0903/archive/ ...
- iOS - (利用/调用系统定位获取当前经纬度与地理信息)
这些天做iOS项目的时候,需要通过定位来拿到当期城市的名称.百度地图SDK有这个功能,但为了不依赖第三方,这里使用iOS自带框架CoreLocation来实现这个需求.iOS8出来之后,针对定位需要多 ...
- Java基础之一组有用的类——使用比较器对数组排序(TrySortingWithComparator)
控制台程序. Arrays类中的sort()静态方法把传送为参数的数组元素按升序方式排序. 对于第一个参数类型是Object[]的sort()方法来说,可以传送任意类型的数组.如果使用sort()方法 ...
- SQLSERVER:sqlserver2008r2安装好后,自动提示功能不可以使用
刚安装好的sqlserver2008r2x64,写一些sql时,自动提示功能失效了. 解决排查一: 找到tools->options->Text Editor->Transact-S ...