Jalankan python di terminal bash

Saya penggemar berat "alat yang tepat untuk pekerjaan yang tepat". Untuk beberapa hal, alat yang tepat adalah skrip shell. Bagi yang lain, itu adalah Python. Tapi terkadang… keduanya

Sering kali saya menemukan diri saya menulis skrip shell dan menginginkan sedikit kerumitan ekstra daripada yang saya pedulikan dalam skrip shell. Terkadang, lebih mudah menulis beberapa baris dengan Python daripada mencoba mencari tahu dengan skrip shell. Tapi… terkadang juga nyaman untuk tidak memelihara (atau mentransfer) seluruh file Python (. py) untuk memuat logika ini

Ad hoc Python dalam skrip shell

Jadi apa yang dapat Anda lakukan? . Bagaimana Anda bisa melakukan ini? . Sebuah contoh

Hari Tersisa. SH

#!/bin/bash

PYCMD=$(cat <<EOF
from datetime import datetime

first_day_of_new_year = datetime(2022, 1, 1)

days_remaining = (first_day_of_new_year - datetime.now()).days
print('{} days remaining in this year'.format(days_remaining))
EOF
)

python3 -c "$PYCMD"
_9

Dan sekarang demi kelengkapan

1
2
0

Lekukan

Ada beberapa cara untuk melakukan string multiline dalam skrip shell, dan yang ini menggunakan dokumen di sini (

1
2
1) untuk pengalihan string adalah yang paling bersih dan paling mudah diingat. Karena saya menggunakan spasi dan bukan tab, saya tidak dapat memanfaatkan
1
2
2 menghapus tab di depan, jadi saya harus berhati-hati dengan indentasi saya

Katakanlah kita memiliki kode Python kita yang menjorok ke dalam skrip shell. Mungkin dalam satu lingkaran, atau fungsi seperti ini

1
2
_3

Ini mungkin terlihat baik-baik saja, tetapi sintaksnya tidak benar

1
2
_4

Untuk dokumen di sini dan kode Python, kita perlu menjaga agar kode tidak terindentasi. Berikut adalah bentuk yang benar

1
2
5

Debugging Python di dalam skrip shell

Kode tidak berfungsi seperti yang kita pikirkan sepanjang waktu. Debugging adalah bagian penting dari setiap pengembangan perangkat lunak, dan Anda mungkin perlu men-debug kode Python yang ada langsung di skrip shell Anda juga

Sebagai pemrogram Python, kami cukup familiar dengan menyetel breakpoint dalam kode dengan

1
2
6. Jadi mari kita letakkan breakpoint itu di skrip shell kita dan lihat apa yang terjadi

1
2
7

1
2
_8

Hmmm kami memiliki pengalaman debugging parsial (karena kami meneruskan kode ad hoc ke Python dengan

#!/bin/bash

PYCMD=$(cat <<EOF
from datetime import datetime

first_day_of_new_year = datetime(2022, 1, 1)

days_remaining = (first_day_of_new_year - datetime.now()).days
print('{} days remaining in this year'.format(days_remaining))
EOF
)

python3 -c "$PYCMD"
8). Kami dapat menganalisis kode, tetapi sulit untuk mengetahui di mana kami berada, terutama saat kami menelusuri kode, karena tidak dapat menampilkan baris kode apa pun. Biasanya ketika Anda melakukan
$ ./days_remaining.sh
335 days remaining in this year
0 di debugger, itu akan mencantumkan baris kode saat ini yang debugger aktif dan beberapa baris kode di sekitarnya. Sangat berguna dan hampir diperlukan untuk debugging yang tepat

Bagaimana kita bisa menyiasatinya?

$ ./days_remaining.sh
335 days remaining in this year
1

$ ./days_remaining.sh
335 days remaining in this year
2

Besar. Sekarang kita dapat men-debug kode Python dengan semua fitur dan kenyamanan pdb

Peringatan dan pemikiran terakhir

Jika Anda menemukan kode Python ad hoc tersemat Anda menjadi panjang, mungkin ide yang bagus untuk memindahkannya ke file terpisah sehingga dapat diuji dan dipelihara dengan benar. Atau bahkan mungkin hanya menulis seluruh utilitas dengan Python dan melupakan pendekatan skrip shell

Mudah-mudahan posting blog ini telah mengilustrasikan fleksibilitas menyematkan kode Python langsung di skrip shell Anda untuk membuat pengalaman pengembangan sedikit lebih baik daripada harus menyelesaikan semua masalah hanya di skrip shell

Bisakah saya menjalankan Python di bash?

Menggunakan Bash untuk menjalankan tugas berulang atau perintah sistem tingkat rendah dan kemudian Python untuk analisis lebih lanjut atau memproses keluaran menjadi format yang dapat dibaca adalah cara terbaik untuk memanfaatkan kekuatan kedua bahasa ini. Untungnya, modul subproses Python dengan mudah mengintegrasikan Bash ke skrip Python Anda .

Bagaimana cara menjalankan Python di terminal?

Untuk memulai sesi interaktif Python, cukup buka baris perintah atau terminal lalu ketikkan python , atau python3 tergantung instalasi Python Anda, lalu tekan Enter .

Bagaimana cara menjalankan skrip Python di Gitbash?

Buka terminal Git Bash dan ikuti langkah-langkah berikut. .
Langkah 1. Masukkan cd untuk masuk ke direktori home Anda. .
Langkah 2. Masukkan pwd untuk mendapatkan jalur ke direktori home Anda. .
Langkah 3. Dapatkan jalur file ke instalasi Anaconda Anda. .
Langkah 4. Tambahkan Python dan Anaconda ke PATH di. .
Langkah 5. Tambahkan alias untuk Python di

Bagaimana cara memulai Python di terminal Linux?

Cara menjalankan skrip Python di Linux dari baris perintah. Buka jendela terminal dan ketik 'python' (tanpa tanda kutip) . Ini membuka python dalam mode interaktif. Meskipun mode ini bagus untuk pembelajaran awal, Anda mungkin lebih suka menggunakan editor teks (seperti Gedit, Vim, atau Emacs) untuk menulis kode Anda.