我试着在谷歌上搜索答案,但一无所获。
我需要使用我的作品超级计算机服务器,但我的python脚本运行,它必须通过一个shell脚本执行。
例如,我希望job.sh执行python_script.py
如何才能做到这一点呢?
我试着在谷歌上搜索答案,但一无所获。
我需要使用我的作品超级计算机服务器,但我的python脚本运行,它必须通过一个shell脚本执行。
例如,我希望job.sh执行python_script.py
如何才能做到这一点呢?
当前回答
因为其他帖子说明了一切(我在寻找以下帖子时偶然发现了这篇帖子)。 下面是一种如何从另一个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来提供参数
其他回答
这个方法最适合我: 在脚本顶部添加以下内容:
#!c:/Python27/python.exe
(C:\Python27\python.exe是我机器上python.exe的路径) 然后运行脚本通过:
chmod +x script-name.py && script-name.py
如果您有一个bash脚本,并且需要在其中运行一个python3脚本(带有外部模块),我建议您在bash脚本中像这样指向您的python路径。
#!/usr/bin/env bash
-- bash code --
/usr/bin/python3 your_python.py
-- bash code --
只需确保python可执行文件在PATH环境变量中,然后添加到脚本中
python path/to/the/python_script.py
细节:
在job.sh文件中,放入以下内容
# !/ bin / sh python python_script . py
执行chmod u+x job.sh命令,使脚本可运行 运行:./job.sh
将以下程序保存为print.py:
#!/usr/bin/python3
print('Hello World')
然后在终端类型中:
chmod +x print.py
./print.py
方法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