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

اس پروگرام میں اردو الفاظ کی ایک فہرست کو لے کر اسے حروف تہجی کے لحاظ سے مختلف فائلوں میں تقسیم کیا گیا ہے۔ اردو الفاظ کی فہرست فاتح کی فراہم کردہ ہے اور میرا ارادہ تھا کہ اس میں کچھ اضافہ کروں گا۔ اسی حوالے سے سوچا تھا کہ ایک مکمل فائل کے ساتھ ساتھ ہر حرف سے شروع ہونے الفاظ کی علیحدہ فائلیں بنا لی جائیں تاکہ اس پر متعدد افراد کام کر سکیں اور الفاظ کی جامع فہرست میں مزید اضافہ ہو سکے۔

محمداحمد ، ذرا اس دھاگے کو بھی دیکھ لینا اور پھر کچھ آگے بھی کرتے ہیں اس پر۔

HTML:
import os
import sys
from datetime import datetime

start=datetime.now()

#Function to populate a set 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 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":"ے"
}


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

LUGHAT = list_populate(FILE_NAME)

#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())

totWords = 0
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])

#Printing statistics about program
program_stats(totWords,LUGHAT)


file_writes(basedir,dictWordsList)
 
آخری تدوین:

محمداحمد

لائبریرین
ہم نے بچپن میں ایک کہانی سنی تھی جس میں ایک سال میں صرف ایک دن جگتا ہے باقی دن سوتا رہتا ہے۔ کہیں وہ یہ صاحب تو نہیں؟ :)

ابھی چھ مہینے پہلے تو پورا سال جاگ کر گزارا ہے۔ :)

چار چھ ماہ آنکھ کیا لگ گئی کہ لوگ لگے باتیں بنانے۔ :):p
 
ہم نے بچپن میں ایک کہانی سنی تھی جس میں ایک سال میں صرف ایک دن جگتا ہے باقی دن سوتا رہتا ہے۔ کہیں وہ یہ صاحب تو نہیں؟ :)

ویسے تو اوپر جواب محمد احمد نے بھی دیا ہے مگر تمہاری غیر حاضری میں خوب حاضر تھا میں۔ :)

ابھی پھر سے حاضر ہونے کی تیاری میں ہوں ، اب دیکھ لینا کہیں تم نہ سو جانا ۔ :p
 
محمداحمد ، بھائی کوڈ کے بارے میں کچھ رائے چاہیے اور بنیادی طور پر یہ پروگرام لغت کے لیے الفاظ کی جامع فہرست کو مختلف فائلوں میں بلحاظ حروف تقسیم کرنا ہے اور پھر اگلے مرحلے میں تمام فائلوں کو دوبارہ یکجا بھی کرنا ہے۔

علیحدہ فائلیں اس لیے بنائی ہیں تاکہ ایک حرف سے شروع ہونے والے الفاظ پر کوئی ایک شخص کام کر سکے اور اسی پر توجہ مرکوز رکھ سکے۔

اس جامع الفاظ کی فہرست کا استعمال بنیادی طور پر املا پڑتال کے لیے ہوگا ، اس کے علاوہ کوئی اور بھی کسی اور مقصد کے لیے کر سکتا ہے۔

اردو الفاظ کی فہرست کا لنک Github پر
 

محمداحمد

لائبریرین
اینکوڈنگ ایرر درپیش ہے۔

PHP:
Traceback (most recent call last):
  File "C:\Users\ahmed.TCM\Desktop\Python ~ Mohib\def.py", line 58, in <module>
    LUGHAT = list_populate(FILE_NAME)
  File "C:\Users\ahmed.TCM\Desktop\Python ~ Mohib\def.py", line 12, in list_populate
    with open(FILE_NAME,'r',encoding='utf8') as set_file:
TypeError: 'encoding' is an invalid keyword argument for this function

IDE نے خود سے درج ذیل اینکوڈنگ بھی شامل کی ہے تب بھی کام نہیں بنا۔

کوڈ:
# -*- coding: utf-8 -*-
 

دوست

محفلین
طے شدہ طور پر پائتھون 3 میں یونیکوڈ ہے۔ اس سے پہلے خصوصی لائبریری استعمال کرنی پڑتی ہے۔
 

فاتح

لائبریرین
اس پروگرام میں اردو الفاظ کی ایک فہرست کو لے کر اسے حروف تہجی کے لحاظ سے مختلف فائلوں میں تقسیم کیا گیا ہے۔ اردو الفاظ کی فہرست فاتح کی فراہم کردہ ہے اور میرا ارادہ تھا کہ اس میں کچھ اضافہ کروں گا۔ اسی حوالے سے سوچا تھا کہ ایک مکمل فائل کے ساتھ ساتھ ہر حرف سے شروع ہونے الفاظ کی علیحدہ فائلیں بنا لی جائیں تاکہ اس پر متعدد افراد کام کر سکیں اور الفاظ کی جامع فہرست میں مزید اضافہ ہو سکے۔
اگر الفاظ کی فہرست میری فراہم کردہ ہے تو نجانے کیا کیا الفاظ اس میں موجود ہونے کا خدشہ ہے بہرحال سنا ہےکہ اللہ ستار ہے۔۔۔ وہ بندوں کے پردے رکھتا ہے۔۔۔ :laughing:
ادارہ کسی قسم کی ذمے داری لینے سے مستثنیٰ ہے۔
 

فاتح

لائبریرین
محب علوی ، اب تو نور اللغات کے تمام الفاظ کی فہرست بھی ٹائپ ہو چکی ہے تو اسے بھی شامل کر لو تا کہ مزید جامع فہرست میسر آ سکے۔
 
آخری تدوین:
محب علوی ، اب تو نور اللغات کے تمام الفاظ کی فہرست بھی ٹائپ ہو چکی ہے تو اسے بھی شامل کر لو تا کہ مزید جامع فہرست میسر آ سکے۔
ضرور کیوں نہیں ، میرا لغت پر کام کا ارادہ تھا اور میں جانتا ہوں تمہارا بھی دل ہے اس میں مگر ایک اور بھائی ہیں وہ ہمیں ہر قسم کے سبز باغ دکھا کر ۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔ پتہ نہیں کیا کیا کرتے رہتے ہیں۔ :p
 
اینکوڈنگ ایرر درپیش ہے۔

PHP:
Traceback (most recent call last):
  File "C:\Users\ahmed.TCM\Desktop\Python ~ Mohib\def.py", line 58, in <module>
    LUGHAT = list_populate(FILE_NAME)
  File "C:\Users\ahmed.TCM\Desktop\Python ~ Mohib\def.py", line 12, in list_populate
    with open(FILE_NAME,'r',encoding='utf8') as set_file:
TypeError: 'encoding' is an invalid keyword argument for this function

IDE نے خود سے درج ذیل اینکوڈنگ بھی شامل کی ہے تب بھی کام نہیں بنا۔

کوڈ:
# -*- coding: utf-8 -*-

یہ مسئلہ پائتھون ورژن 2 ہی کی وجہ سے ہے ، پائتھون 3 میں ٹھیک چلے گا۔
 

فاتح

لائبریرین
ضرور کیوں نہیں ، میرا لغت پر کام کا ارادہ تھا اور میں جانتا ہوں تمہارا بھی دل ہے اس میں مگر ایک اور بھائی ہیں وہ ہمیں ہر قسم کے سبز باغ دکھا کر ۔۔۔ ۔۔۔ ۔۔۔ ۔۔۔ ۔۔۔ ۔۔۔ ۔۔۔ پتہ نہیں کیا کیا کرتے رہتے ہیں۔ :p
لغت پر تو کام ہو بھی چکا ہے۔۔۔ اور انھی سبز باغ دکھانے والے بھائی صاحب سے ہی کروایا ہے۔۔۔ :p
 
Top