Skip to content

Instantly share code, notes, and snippets.

@seddi
Created March 9, 2011 04:51

Revisions

  1. seddi revised this gist Mar 9, 2011. 1 changed file with 19 additions and 8 deletions.
    27 changes: 19 additions & 8 deletions findname_with_regexp.py
    Original file line number Diff line number Diff line change
    @@ -10,11 +10,11 @@
    def reg_exp(list):
    for i in list:
    c = re.compile("^[rskmn]|[rskmn]$")
    t = re.compile("[^çÇğĞıİöÖüÜ]+")
    t = re.compile("[^çÇğĞıİöÖşŞüÜ]+")
    if c.search(i):
    str = list_to_str(list)
    if t.search(str):
    return str
    if len(t.search(str).group()) == len(str):
    return str+"\n"

    def list_to_str(list):
    return ''.join(list)
    @@ -50,20 +50,31 @@ def word_list(liste):
    if word:
    name_list.append(word)
    return name_list

    def write_to_file(list):
    f_name = input("yazilacak dosya adi giriniz (uzantısız olarak <isimler> gibi ) : ")
    try:
    file = open(f_name + ".txt" , "w")
    file.writelines(list)
    except IOError as error:
    error_msg(error)
    finally:
    file.close()
    def error_msg(msg):
    print("{0} ".format(msg))
    sys.exit()

    state = True
    while state:
    f_name = input("okunacak dosya adi : ")
    f_name = input("okunacak dosya adi (uzantısı ile <isimler.txt> gibi ) : ")
    if f_name:
    try:
    file = open(f_name, "r", encoding="utf-8")
    print ("Okuma yapılıyor... ")
    data = [i for i in file.read().splitlines() if len(i) == 5 or len(i) == 4 or len(i) == 6 ]
    print (word_list(data))
    write_to_file(word_list(data))
    state = False
    except IOError as error:
    print ("I/O error : {0}".format(error))
    sys.exit()
    error_msg(error)
    finally:
    file.close()
    else:
  2. seddi created this gist Mar 9, 2011.
    72 changes: 72 additions & 0 deletions findname_with_regexp.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,72 @@
    #!/usr/bin/python3
    #-*- coding:utf-8 -*-

    import sys
    import re

    sesli = ['a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü', 'A', 'E', 'I', 'i', 'O', 'Ö', 'U', 'Ü']
    sessiz = ['b', 'c', 'ç', 'd', 'f', 'g', 'ğ', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 'ş', 't', 'v', 'y', 'z', 'B', 'C', 'Ç', 'D', 'F', 'G', 'Ğ', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'Ş', 'T', 'V', 'Y', 'Z' ]

    def reg_exp(list):
    for i in list:
    c = re.compile("^[rskmn]|[rskmn]$")
    t = re.compile("[^çÇğĞıİöÖüÜ]+")
    if c.search(i):
    str = list_to_str(list)
    if t.search(str):
    return str

    def list_to_str(list):
    return ''.join(list)

    def spell(w):
    w = w[::-1]
    s_list = list()
    while True:
    state = True
    for chr in w:
    if chr in sesli:
    state = False
    break
    if state or not len(w):
    if not s_list:
    return reg_exp(s_list.insert(0, w))
    else:
    s_list[0] = (s_list[0][::-1] + w[::-1])[::-1]
    return reg_exp(s_list)
    i = w.find(chr)
    if len(w) == i+1 or ((not w[i+1] in sessiz) and i+1 < len(w)):
    s_list.insert(0, w[:i+1][::-1])
    w = w[i+1:]
    elif w[i+1] in sessiz and len(w) >= i+2:
    s_list.insert(0, w[:i+2][::-1])
    w = w[i+2:]

    def word_list(liste):
    name_list = list()
    for word in liste:
    if len(word):
    word = spell(word)
    if word:
    name_list.append(word)
    return name_list

    state = True
    while state:
    f_name = input("okunacak dosya adi : ")
    if f_name:
    try:
    file = open(f_name, "r", encoding="utf-8")
    print ("Okuma yapılıyor... ")
    data = [i for i in file.read().splitlines() if len(i) == 5 or len(i) == 4 or len(i) == 6 ]
    print (word_list(data))
    state = False
    except IOError as error:
    print ("I/O error : {0}".format(error))
    sys.exit()
    finally:
    file.close()
    else:
    print ("Dosya adi belirtmediniz!...")
    state = True