twitterlinkedinemail
komut çıktısı kaydetme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
komut çıktısı kaydetme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

7 Ocak 2014 Salı

Python ile Linux Komut Çıktısı Kaydetme

Merhaba arkadaşlar, biliyorsunuz arada Python'la ilgili basit ancak işimize yarayacak paylaşımlar yapıyorum. Bugün sizlerle Python ile Linux komut çıktılarını bir metin (txt) dosyasına kaydettirme örneği paylaşacağım.

Kod örneği aşağıdaki gibidir:

#!/usr/bin/env python  
#-*- coding: cp1254 -*- 
import subprocess 
komut = raw_input("Komutu giriniz: ") 
islem = subprocess.Popen(komut, shell = True, stdout = subprocess.PIPE)cikti = islem.communicate()[0] 
dosyaismi = komut+".txt"dosya = open(dosyaismi, "w")dosya.write(cikti)dosya.close()

Yazılan kodları açıklamak gerekirse;
  • Öncelikle Python'da komut satırı işlemlerini subprocess modülünü import ederek yaptırabiliriz (farklı modüller de mevcuttur..)
  • Programı çalıştırdığımızda vereceğimiz komutu raw_input ile istedik ve komut değişkenine atadık
  • subprocess modülünü kullanarak komut satırını aktifleştirip islem isimli değişkene atadık
  • islem isimli değişkende işlemleri yapan subprocess modülünün communicate methoduyla işlem çıktılarını cikti isimli değişkene atadık
  • İlk başlarda raw_input ile kullanıcıdan aldığımız komutun ismiyle bir txt dosyası oluşturacak şekilde dosyaismi değişkenini tanımladık
  • Son olarak dosya işlemlerine geçiyoruz, verilen komut ismiyle bir txt dosyası açıyoruz
  • cikti değişkeninin oluşturduğu içeriği dosyamıza yazdık ve dosyayı kapattık