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