Merhaba arkadaşlar, biliyorsunuz arada Python’la ilgili basit 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

Furkan SANDAL