Saya sudah mencoba googling jawabannya tetapi tidak berhasil.
Saya perlu menggunakan server superkomputer karya saya, tetapi agar skrip python saya dapat berjalan, itu harus dijalankan melalui skrip shell.
Misalnya saya ingin job.sh
mengeksekusipython_script.py
Bagaimana ini bisa dicapai?
python python_script.py
skrip shell Anda?python python_script.py
,. Atau hanya./python_script.py
jika skrip mendapat shebang.Jawaban:
Pastikan python executable ada di variabel lingkungan PATH Anda lalu tambahkan skrip Anda
Detail:
chmod u+x job.sh
./job.sh
sumber
python --version
, dan Anda dapat menegakkan versi denganpython3 hello.py
.source PATH/TO/VENV/bin/activate
lalu panggilpython python_script.py
/path/to/Python: can't open file '/path/to/script': [Errno 1] Operation not permitted
apakah ada cara untuk memasukkan kode python saya sebaris dalam skrip bash?Metode 1 - Buat skrip shell:
Misalkan Anda memiliki file python,
hello.py
Buat file bernamajob.sh
yang berisitandai itu dapat dieksekusi menggunakan
kemudian jalankan
Metode 2 (LEBIH BAIK) - Buat python itu sendiri dijalankan dari shell:
Ubah skrip Anda
hello.py
dan tambahkan ini sebagai baris pertamatandai itu dapat dieksekusi menggunakan
kemudian jalankan
sumber
#!/usr/bin/env python
. Ingatlah untuk memastikan Anda mereferensikan path versi + python yang tepat untuk sistem Anda!Imho, menulis
Sangat salah, terutama di hari-hari ini. Python yang mana? python2.6? 2,7? 3,0? 3.1? Sebagian besar kali Anda perlu menentukan versi python di tag shebang dari file python. Saya mendorong untuk menggunakan
untuk kompatibilitas.Dalam kasus seperti itu, jauh lebih baik untuk membuat skrip dapat dieksekusi dan menjalankannya secara langsung:
Dengan cara ini, versi python yang Anda butuhkan hanya ditulis dalam satu file. Sebagian besar sistem saat ini memiliki python2 dan python3 sementara itu, dan kebetulan bahwa symlink python menunjuk ke python3 , sementara kebanyakan orang mengharapkannya menunjuk ke python2 .
sumber
python script.py param
?./abc.py -h
Simpan program berikut ini sebagai
print.py
:Kemudian dalam tipe terminal:
sumber
Ini bekerja paling baik untuk saya: Tambahkan ini di bagian atas skrip:
(C: \ Python27 \ python.exe adalah path ke python.exe di komputer saya) Kemudian jalankan skrip melalui:
sumber
Ini bekerja untuk saya:
Buat pekerjaan file shell baru. Jadi katakanlah:
touch job.sh
dan tambahkan perintah untuk menjalankan skrip python (Anda bahkan dapat menambahkan argumen baris perintah ke python itu, saya biasanya menentukan sebelumnya argumen baris perintah saya).chmod +x job.sh
Di dalam
job.sh
menambahkan file py berikut, katakanlah: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
Saya menggunakan ini biasanya ketika saya harus menjalankan beberapa file python dengan argumen yang berbeda, yang telah ditentukan sebelumnya.
Catatan: Hanya dengan cepat mengetahui apa yang terjadi di sini:
python python_file.py
:, polos dan sederhana. Selanjutnya, >> akan mencetak dan menyimpan output dari file .py ini dalam file testpy-output.txt.sumber
Anda harus dapat memanggilnya sebagai
python scriptname.py
misPastikan juga skrip memiliki izin untuk dijalankan.
Anda dapat membuatnya dapat dieksekusi dengan menggunakan
chmod u+x scriptname.py
.sumber
Saya menggunakan ini dan berfungsi dengan baik
sumber
Karena posting lain mengatakan segalanya (dan saya menemukan posting ini sambil mencari yang berikut).
Berikut ini cara mengeksekusi skrip python dari skrip python lain:
Python 2:
Python 3:
dan Anda dapat menyediakan args dengan menyediakan beberapa lainnya
sys.argv
sumber