我试着在谷歌上搜索答案,但一无所获。

我需要使用我的作品超级计算机服务器,但我的python脚本运行,它必须通过一个shell脚本执行。

例如,我希望job.sh执行python_script.py

如何才能做到这一点呢?


当前回答

将以下程序保存为print.py:

#!/usr/bin/python3
print('Hello World')

然后在终端类型中:

chmod +x print.py
./print.py

其他回答

将以下程序保存为print.py:

#!/usr/bin/python3
print('Hello World')

然后在终端类型中:

chmod +x print.py
./print.py

如果您有一个bash脚本,并且需要在其中运行一个python3脚本(带有外部模块),我建议您在bash脚本中像这样指向您的python路径。

#!/usr/bin/env bash

-- bash code --

/usr/bin/python3 your_python.py

-- bash code --

因为其他帖子说明了一切(我在寻找以下帖子时偶然发现了这篇帖子)。 下面是一种如何从另一个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来提供参数

方法1 -创建一个shell脚本:

假设你有一个python文件hello.py 创建一个名为job.sh的文件,其中包含

#!/bin/bash
python hello.py

将其标记为可执行

$ chmod +x job.sh

然后运行它

$ ./job.sh

方法2 (BETTER) -让python本身从shell运行:

修改脚本hello.py,并将其添加为第一行

#!/usr/bin/env python

将其标记为可执行

$ chmod +x hello.py

然后运行它

$ ./hello.py

我用这个,它工作得很好

#/bin/bash
/usr/bin/python python python_script.py