私は答えをグーグルで試しましたが、運はありませんでした。
動作中のスーパーコンピューターサーバーを使用する必要がありますが、Pythonスクリプトを実行するには、シェルスクリプトを介して実行する必要があります。
たとえば、job.sh
にpython_script.py
を実行させたい
どうすればこれを達成できますか?
Python実行可能ファイルがPATH環境変数にあることを確認してから、スクリプトを追加してください
python path/to/the/python_script.py
詳細:
#!/bin/sh python python_script.py
chmod u+x job.sh
./job.sh
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
私見、書く
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のバージョンは1つのファイルにのみ書き込まれます。最近のほとんどのシステムではpython2とpython3が使用されており、ほとんどの人はpythonを指すのに対して、シンボリックリンクpythonはpython2。
これは私に最適です:スクリプトの先頭にこれを追加してください:
#!c:/Python27/python.exe
(C:\ Python27\python.exeは、私のマシン上のpython.exeへのパスです)次に、次の方法でスクリプトを実行します:
chmod +x script-name.py && script-name.py
あなたはpython scriptname.pyとしてそれを呼び出すことができるはずです
例えば
# !/bin/bash
python /home/user/scriptname.py
また、スクリプトに実行権限があることを確認してください
chmod u + x scriptname.pyを使用して実行可能にすることができます
編集:それにbeatられた:-p
次のプログラムをprint.py
として保存します。
#!/usr/bin/python3
print('Hello World')
次に、端末タイプで:
chmod +x print.py
./print.py
これは私のために働く:
新しいシェルファイルジョブを作成します。たとえば、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ファイルに出力して保存します。私はこれを使用し、それはうまく動作します
#/bin/bash
/usr/bin/python python 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
を提供することで引数を提供できます