"Türkçe", Konuşur Gibi Kod Yazmak #3: Dosya Çağırma

in #tr6 years ago (edited)

TaR.png

Önceki Bölümlerde: #1: Giriş, #2: İlk adımlar


Önceki bölümleri okuyanlar için kaldığımız yerden devam edelim.

Kendisine gönderilen dosyaları açıp, içindeki Türkçe komutları çalıştıracak olan programımız TAR olacak. Bunun için 2. bölümde PATH olarak tanımlamış olduğunuz klasörde
tar.py
adında bir dosya oluşturalım.

Bu programımız, kendisine gönderilen .tr uzantılı dosyaları işleyecek. Nihayi halde, konsolda
1-) tar deneme.tr yazıp entera bastığımızda, deneme.tr içinde yaz diye bir komut var mı bakacak, tırnak işaretlerinin başlama ve bitiş noktalarına bakıp, yazılacak cümleyi ayıklayacak.
tar1.png

ya da
2-) tar yazıp enter'a bastığımızda bizden dosya ismi girmemizi bekleyecek.
tar2.png



Yukarıdaki 1. ve 2. durumlardan gelecek olan dosya için şöyle bir fonksiyon tanımlıyoruz:
tar3.png

tar devamına gelecekleri argüman olarak alıyoruz, bunun için yukarıda sys kütüphanesini import etmemiz yeterli.

tar4.png

SublimeText'nin renklendirmesinin güzel olduğundan bahsetmiştim sanırım ;) Görüldüğü üzere, her iki seçenektede DosyaIcerik adlı fonksiyonu çalıştırıyoruz.

Bu fonksiyonun amacı, ilgili dosya için, Python'un default olarak Ascii diye kabul ettiği karakterleri UTF-8 'e dönüştürmek. Yani ğ ü ş gibi harfleri tanımasını sağlamak. [saatler hatta günlere bile mal olabiliyor Türkçe karakter sorunu, umarım başımızı çok ağrıtmadan ilerleyebiliriz]

tar5.png

Sonraki bölümde harf ayıklama için kullanacağımız Calıstır fonskiyonumuzun içine UzantiKontrol() fonksiyonumuzu yerleştirelim ve çalıştıralım ;)

tar6.png

#!/usr/bin/python
# -*- coding: utf-8 -*-

##################################### 
#   TaR - Türkçe Kodlama Dili       #
#   by Murat Tatar, Temmuz 2018     #
#####################################

from sys import *


def DosyaIcerik(dosyaadi):
    icerik = open(dosyaadi,"r").read()
    icerik = unicode(icerik,'utf-8')
    return icerik

def UzantiKontrol():
    global okunan
    try:
        if argv[1]: okunan = DosyaIcerik(argv[1])
    except:
        okunan = DosyaIcerik(raw_input('TaR: '))

def Calistir():
    UzantiKontrol()
    print okunan


Calistir()

Başlat > cmd
ile konsol açıp
cd komutları ile ilgili klasör içine gelerek tar yazdığımızda bizden dosya adı bekliyor olmalı ;)

tar7.png


CopyLeft rahatlığında dilediğiniz gibi kullanabilirsiniz ;)

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 59071.36
ETH 3001.95
USDT 1.00
SBD 3.66