我试过谷歌搜索答案,但没有运气。
我需要使用我的工作超级计算机服务器,但是要运行我的python脚本,它必须通过shell脚本执行。
例如,我希望job.sh
执行python_script.py
如何实现这一目标?
答案 0 :(得分:139)
确保python可执行文件位于PATH环境变量中,然后在脚本中添加
python path/to/the/python_script.py
详细说明:
#!/bin/sh python python_script.py
chmod u+x job.sh
./job.sh
答案 1 :(得分:89)
假设您有一个python文件hello.py
创建一个名为job.sh
的文件,其中包含
#!/bin/bash
python hello.py
使用
标记可执行文件$ chmod +x job.sh
然后运行它
$ ./job.sh
修改您的脚本hello.py
并将其添加为第一行
#!/usr/bin/env python
使用
标记可执行文件$ chmod +x hello.py
然后运行它
$ ./hello.py
答案 2 :(得分:8)
python /path/to/script.py
非常错误,特别是在这些日子里。哪个蟒蛇? python2.6的? 2.7? 3.0? 3.1?大多数时候你需要在python文件的shebang标签中指定python版本。我鼓励使用
#!/usr/bin/env python2 #or python2.6 or python3 or even python3.1来兼容。
在这种情况下,让脚本可执行并直接调用它会好得多:
#!/bin/bash /path/to/script.py
这样你需要的python版本只能写在一个文件中。现在大多数系统都在使用python2和python3,而且符号链接 python 指向 python3 ,而大多数人都希望它指向 python2 强>
答案 3 :(得分:3)
你应该能够以python scriptname.py
的形式调用它例如
# !/bin/bash
python /home/user/scriptname.py
还要确保脚本具有运行
的权限您可以使用chmod u + x scriptname.py
使其可执行编辑:殴打它:-p
答案 4 :(得分:3)
这对我最有用: 在脚本顶部添加:
#!c:/Python27/python.exe
(C:\ Python27 \ python.exe是我机器上python.exe的路径) 然后通过以下方式运行脚本:
chmod +x script-name.py && script-name.py
答案 5 :(得分:2)
这对我有用:
创建新的shell文件作业。所以,让我们说:
touch job.sh
并添加命令来运行python脚本(你甚至可以向该python添加命令行参数,我通常会预定义我的命令行参数)。
chmod +x job.sh
在job.sh
内添加以下py文件,让我们说:
python_file.py argument1 argument2 argument3 >> testpy-output.txt && echo "Done with python_file.py"
python_file1.py argument1 argument2 argument3 >> testpy-output.txt && echo "Done with python_file1.py"
Done with python_file.py
Done with python_file1.py
我通常在使用预定义的不同参数运行多个python文件时使用它。
注意:快速了解此处发生的事情:
python_file.py argument1 argument2 argument3 >> testpy-output.txt && echo "completed with python_file.py" .
python python_file.py
一样使用它,简单明了。
接下来,>> 将打印并将此.py文件的输出存储在testpy-output.txt文件中。 答案 6 :(得分:2)
将以下程序保存为print.py
:
#!/usr/bin/python3
print('Hello World')
然后在终端类型:
chmod +x print.py
./print.py
答案 7 :(得分:1)
我使用它并且工作正常
Node [Node [Leaf 4, Leaf 2], Leaf 6, Leaf 9, Leaf 1]
答案 8 :(得分:0)
由于其他帖子都说了所有(我在寻找以下内容时偶然发现了该帖子)。
这是一种从另一个python脚本执行python脚本的方法:
Python 2:
execfile("somefile.py", global_vars, local_vars)
Python 3:
with open("somefile.py") as f:
code = compile(f.read(), "somefile.py", 'exec')
exec(code, global_vars, local_vars)
并且您可以通过提供其他一些sys.argv