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

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

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

如何才能做到这一点呢?


当前回答

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

#!/usr/bin/env bash

-- bash code --

/usr/bin/python3 your_python.py

-- bash code --

其他回答

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

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

然后在终端类型中:

chmod +x print.py
./print.py

这个方法最适合我: 在脚本顶部添加以下内容:

#!c:/Python27/python.exe

(C:\Python27\python.exe是我机器上python.exe的路径) 然后运行脚本通过:

chmod +x script-name.py && script-name.py

恕我直言,写作

python /path/to/script.py

是不对的,尤其是在现在。python ?python2.6吗?2.7 ?3.0 ?3.1 ?大多数情况下,您需要在python文件的shebang标签中指定python版本。我鼓励使用#!/usr/bin/env python2 #或python2.6或python3,甚至python3.1兼容性。

在这种情况下,让脚本可执行并直接调用会更好:

#!/bin/bash

/path/to/script.py

这样,你需要的python版本只写在一个文件中。现在大多数系统都同时使用python2和python3,而且符号链接python指向python3,而大多数人都希望它指向python2。

我用这个,它工作得很好

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

你应该能够调用它作为python scriptname.py。

# !/bin/bash

python /home/user/scriptname.py 

还要确保脚本具有运行权限。

您可以使用chmod u+x scriptname.py使其可执行。