GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menyimpan hasil dari perintah Shell yang dieksekusi dalam variabel dengan python?

commands.getstatusoutput akan bekerja dengan baik untuk situasi ini. (Tidak digunakan lagi sejak Python 2.6)

import commands
print(commands.getstatusoutput("cat syscall_list.txt | grep f89e7000 | awk '{print $2}'"))

os.popen berfungsi untuk ini. popen - membuka pipa ke atau dari perintah. Nilai yang dikembalikan adalah objek file terbuka yang terhubung ke pipa, yang dapat dibaca. split('\n') mengonversi keluaran menjadi daftar

import os
list_of_ls = os.popen("ls").read().split('\n')
print list_of_ls
import os
list_of_call = os.popen("cat syscall_list.txt | grep f89e7000 | awk '{print $2}'").read().split('\n')
print list_of_call

Gunakan subprocess modul sebagai gantinya:

import subprocess
output = subprocess.check_output("cat syscall_list.txt | grep f89e7000 | awk '{print $2}'", shell=True)

Sunting:ini baru di Python 2.7. Di versi sebelumnya ini seharusnya berfungsi (dengan perintah ditulis ulang seperti yang ditunjukkan di bawah):

import subprocess
output = subprocess.Popen(['awk', '/f89e7000/ {print $2}', 'syscall_list.txt'], stdout=subprocess.PIPE).communicate()[0]

Sebagai catatan tambahan, Anda dapat menulis ulang

cat syscall_list.txt | grep f89e7000

Untuk

grep f89e7000 syscall_list.txt

Dan Anda bahkan dapat mengganti seluruh pernyataan dengan satu awk skrip:

awk '/f89e7000/ {print $2}' syscall_list.txt

Mengarah ke:

import subprocess
output = subprocess.check_output(['awk', '/f89e7000/ {print $2}', 'syscall_list.txt'])

Linux
  1. Bagaimana cara menggunakan perintah nama dasar?

  2. Bagaimana Cara Mengatur Variabel Sama Dengan Output Dari Perintah Di Grub2?

  3. Linux – Bagaimana Cara Menghapus Variabel Lingkungan 'http_proxy' Dengan Python?

  1. Apakah ada cara untuk menemukan waktu berjalan dari perintah yang terakhir dieksekusi di shell?

  2. Bagaimana cara mendapatkan konten halaman web dalam variabel Shell?

  3. Bagaimana cara menginstal skrip untuk dijalankan di mana saja dari baris perintah?

  1. Bagaimana Cara Menetapkan Output Perintah Ke Variabel Shell?

  2. Bagaimana Cara Mendapatkan Alamat Ip Sendiri Dan Menyimpannya Ke Variabel Dalam Script Shell?

  3. Menyimpan hasil dari gdallocationinfo sebagai variabel di Python