Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行Python脚本而不显式调用`Python`_Python_Linux - Fatal编程技术网

运行Python脚本而不显式调用`Python`

运行Python脚本而不显式调用`Python`,python,linux,Python,Linux,我试图在不编写python func.py的情况下运行python脚本。 我已将添加到脚本文件#/usr/bin/python2.7 是否使用chmod+x func.py 尝试运行时:./func.py-p show-c all 脚本工作正常,但如果我尝试去掉“flags”(-p,-c)或“/”或“.py”,它将无法工作。 脱旗返回: [root@pg66 tmp]# ./func.py show all usage: func.py [-h] [-p PROCESS] [-c CLUST

我试图在不编写python func.py的情况下运行python脚本。 我已将添加到脚本文件#/usr/bin/python2.7 是否使用chmod+x func.py 尝试运行时:./func.py-p show-c all 脚本工作正常,但如果我尝试去掉“flags”(-p,-c)或“/”或“.py”,它将无法工作。 脱旗返回:

[root@pg66 tmp]# ./func.py  show  all
usage: func.py [-h] [-p PROCESS] [-c CLUSTER] [-t TYPE]
func.py: error: unrecognized arguments: show all

[root@pg66 tmp]# func.py -p show -c all
-bash: func.py: command not found

将“/”和“.py”从返回中移除:

[root@pg66 tmp]# ./func.py  show  all
usage: func.py [-h] [-p PROCESS] [-c CLUSTER] [-t TYPE]
func.py: error: unrecognized arguments: show all

[root@pg66 tmp]# func.py -p show -c all
-bash: func.py: command not found


编辑:我有3个标志-p-c-t,不知道-h来自哪里-t可以为null,因此当我编写-p show-c时,它可以正常工作。

您只需使用python文件所在位置的
chmod+*x
。这使得
linux/unix
更容易运行,之后您可以通过
/main.py
运行它,假设文件名为
main.py
。您还可以删除
.py
扩展名,然后通过
chmod+*x
授予权限,然后通过
/main
执行。另一种方法是简单地转到终端的执行脚本,然后通过键入别名添加一个别名直接运行脚本。第一种情况下,显然脚本需要一些参数&
show all
无效。检查脚本以了解如何修复该问题。第二种情况是,可以在linux中安全地删除
.py
,因为文件扩展名在linux中并不重要。要删除
/
您需要将
func
放在路径中的某个位置。这与将
python
从命令中移除无关。您忘记了
-p
-c
。我从脚本的同一目录运行命令,如果不指定标志,就无法运行python脚本?这些参数不是位置参数,因此它们只需要标志。你能解释一下最后一句话吗?我确实希望只需键入脚本的名称而不键入任何./or.py即可运行脚本。请将脚本放在您的终端主页上。然后在终端的
bash.bashrc
文件中,只需将此
alias script='python main.py'
放在终端中的任何位置,就可以运行它了。关于标志,您只需在
脚本
名称之后添加它们。例如:
script-p
。试试看是否有效,尤其是旗帜。我从来没有写过带标志的脚本。但我认为它会起作用,因为概念是一样的