متفرق اردو الفاظ کی فائلیں بلحاظ حروف تہجی

محمداحمد ، کوڈ اپڈیٹ کر دیا ہے ، دیکھ لو اور کچھ پرانے پائتھونین کو بھی ٹیگ کر دو

PHP:
import os
import sys
from datetime import datetime

start=datetime.now()

#Function to populate a list with file contents
def list_populate(FILE_NAME):
    try:
        with open(FILE_NAME,'r',encoding='utf8') as set_file:
            lughatwords = [line.strip() for line in set_file.readlines()]
            #lughatwords = set(line.strip() for line in set_file.readlines())
    except ValueError as e:
           print(e)
    return lughatwords

#Function to Create a Dictionary with a list of words starting with a specific key(alphabet)
def wordList(LUGHAT,letter,key,dictAlfaaz={}):
    for word in LUGHAT:
        if word.startswith(letter):
            dictAlfaaz[key].append(word)
    return dictAlfaaz

def dictWordsListfunc(totWords,LUGHAT):

    #Creating Dictionary with Urdu Letters as Keys and words starting with that letter as a list
    dictWordsList = dict((k,list()) for k in urduLetters.keys())

    for key in urduLetters.keys():
        dictWordsList = wordList(LUGHAT,urduLetters[key],key,dictWordsList)
        #print("Words in {} are: {}".format(key, len(dictWordsList[key])))
        totWords +=len(dictWordsList[key])
    return dictWordsList,totWords

def file_writes(basedir,dictWordsList):
    totWords = 0
    fileNames = []
    print('********Function write_files**********')
    for key in urduLetters.keys():
        fileln = 0
        wordfile = key + "words.txt"
        FILE_WRITE = os.path.join(basedir,wordfile)
        with open(FILE_WRITE,'w',encoding='utf8') as fWrite:
             for y in dictWordsList[key]:
                 #print("{} words are : ".format(y))
                fWrite.write("{}\n".format(y))
                fileln += 1
        #print("Words in {} are : {}".format(wordfile,fileln))
        fileNames.append(wordfile)

def program_stats(totWords,LUGHAT):
    print("Total words in Dictionary are {}".format(totWords))
    print("Total words in LUGHAT are {}".format(len(LUGHAT)))
    print(datetime.now()-start)

urduLetters = {
"Alif":"ا","AlifMada":"آ", "Bay":"ب", "Pay":"پ", "Tay":"ت","Ttay":"ٹ","Say":"ث","Jeem":"ج",
"Chay":"چ","Hay":"ح","Khay":"خ","Daal":"د","Ddaal":"ڈ","Zaal":"ذ","Ray":"ر","Array":"ڑ","Zay":"ز","Yaal":"ژ",
"Seen":"س","Sheen":"ش","Swaad":"ص","Zwaad":"ض","Touay":"ط","Zouay":"ظ","Ain":"ع","Ghain":"غ","Fay":"ف",
"Kaaf":"ک","Qaaf":"ق","Gaaf":"گ","Laam":"ل","Meem":"م","Noon":"ن","Wow":"و","Hai":"ہ","Hamza":"ء","ChotiYay":"ی","BariYay":"ے"
}

totWords = 0
basedir = r'C:\Test\Data'
FILE_NAME = os.path.join(basedir,"FullWords.txt")

#Populating list with all words in file
LUGHAT = list_populate(FILE_NAME)

#Creating dictionary of word lists
dictWords,totWords = dictWordsListfunc(totWords,LUGHAT)

#Printing statistics about program
program_stats(totWords,LUGHAT)

#Writing one file for all words starting, with a specific letter
file_writes(basedir,dictWords)
 
محمداحمد ، اوپر دیئے ہوئے کوڈ کی کلاس بنا کر اسے چیک کرنا ہے۔ :)

میں نے کچھ مختصر کوڈ اور ان کا استعمال بھی دیکھا ہے مگر لگتا ہے ان کے استعمال کے لیے ایک اور پری فکس بنوانا پڑے گا۔
 
ہمیں تو بالکل بھی سمجھ نہیں ہے یقیناً یہ علم اور اردو کی خدمت ہے آپ سب احباب کو اللہ رب العزت جزائے خیر دے اور بہت ساری ہمت عطا فرمائے اور زیادہ سے زیادہ اور اچھے سے اچھاکام کرنے کی ہمت اور اچھی صحت عطا فرمائے ۔آمین ثم آمین
 
Top