akıllı tahta etkinlikleri,soru bankası,deneme sınavı,yazılı sınav,konu anlatım,eğitim programları,yıllık planlar,ilk okuma yazma

YOLO Dünyası için Geri Sayım Başladı!

Ulaşımda En Pratik Yol O!  sloganı ile yola çıkan ve Uber’in karşılaştığı en güçlü rakip olan girişim YOLO için geri sayım başladı. Dünyad...

26 Temmuz 2015 Pazar

Çıktıları Dosyaya Yazdırma


Bildiğimiz gibi print() fonksiyonu verileri ekrana yazdırmaya yarıyor. Ben çıktıları ekrana değil de bir dosyaya yazdırmak istiyorum. Bunu yapmak için için önce sistem modülünü import ediyorum.

import sys

print fonksiyonunun ekrana çıktı vermesini sağlayan değişkenidir. Önce bu değişkenin tuttuğu değeri ekrana bir yazdırıp görelim.


print(sys.stdout)

Çıktımız şu şekilde: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='windows-1254'>

Şimdi sys.stdout değişkeninin tuttuğu bu değeri başka bir değişkene yedekleyelim. Çünkü print fonksiyonunu eski haline getirmek istediğimizde bize lazım olacak.



orijinal=sys.stdout

Ben çıktıların kaydedileceği ekrana log.txt diyeceğim. Siz farklı bir isimde kullanabilirsiniz.



dosya=open("log.txt","a+")
sys.stdout=dosya
print("Kayıtlar log dosyasına kaydediliyor")

Hepsi bu kadar. Eğer eski haline döndürmek istersek. 



sys.stdout=orijinal orijinal değerine atama yapmamız yeterli

Şimdi kodlarımızı derli toplu yazalım.


#-*- utf-8 -*-
import sys
orijinal = sys.stdout
dosya=open("log.txt","a+")
sys.stdout=dosya
print("Kayıtlar log dosyasına kaydediliyor")

#eski haline dönüştürmek için
sys.stdout=orijinal
print("o eski halimden eser yok şimdi")
dosya.close() #dosyamızı kapatmayı da unutmayalım

0 yorum:

Yorum Gönder