متفرق پائتھون تجرباتی پروگرام

کئی دنوں سے ذہن میں آ رہا تھا کہ پائتھون پر چند مشقیں خود بھی کی جائیں اور دوسروں کو بھی دے کر کروائی جائیں۔

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

سوچا کہ کچھ تھوڑا سا کام پائتھون میں کرنے کی کوشش کروں گو ابھی تھوڑی سی ہی سیکھی ہے۔ ایک عدد پروگرام جس میں کسی بھی فائل میں سے لفظ کی تلاش پر پوری لائن کشید کی جا سکتی ہے ۔ کوڈ مندرجہ ذیل ہے

کوڈ:
filename = "C:\Python32\Scripts\Farooq\\alice.txt"
 
find = ("TIOBE","October")
 
with open(filename, "r") as infile:
    for line_no, line in enumerate(infile, 1):
        lline = line.lower()
        if any(word.lower() in lline for word in find):
            print('%4i: %s' % (line_no, line.rstrip()))

اس میں دو اسٹرنگز "TIOBE","October" کو ڈھونڈا جا رہا ہے alice نامی فائل میں۔ اسٹرنگز کوئی بھی ہو سکتی ہیں اور اسی طرح فائل کوئی بھی ہو سکتی ہے۔

اردو میں کرنے کے لیے دو تین تجربات کیے اور فی الحال کچا پکا کوڈ جو کہ انتہائی مختصر ہے اور اس سے پائتھون کے پرستاروں کی بات سچ ثابت ہو رہی ہے کہ کوڈ انتہائی مختصر اور جلدی لکھا جاتا ہے۔

PHP:
import codecs
 
infile = codecs.open('C:\Python32\Scripts\Farooq\\Nasir.txt', encoding='utf-8')
 
find = ('فراق','دھوپ')
for line_no, line in enumerate(infile, 1):
        lline = line.lower()
        if any(word.lower() in lline for word in find):
            print('%4i: %s' % (line_no, line.rstrip()))

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

مقدس کا خصوصی شکریہ کیونکہ اس کی تحریر سے متاثر ہو کر فورا کام کرنے کو دل کیا اور کامیابی بھی ہوئی ۔

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

یونیکوڈ اور فائل ان پٹ اور آؤٹ پٹ پر اسباق کے بعد انشاءللہ ان موضوعات کو تفصیل سے دیکھیں گے اور مشقیں بھی ہوں گی۔
 

قیصرانی

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

یہ پروگرام بھی وہ روبی آن ریلز میں پائتھن بناتے اور پھر اس پائتھن میں بنا کر دیتے :blushing:
 

محمداحمد

لائبریرین
کوڈ:
from __future__ import with_statement
 
filename = "C:\Python32\Scripts\Farooq\\alice.txt"
 
find = ("TIOBE","October")
 
with open(filename, "r") as infile:
    for line_no, line in enumerate(infile, 1):
        lline = line.lower()
        if any(word.lower() in lline for word in find):
            print('%4i: %s' % (line_no, line.rstrip()))

بہت شکریہ محب بھائی اپنے تجربات یہاں شئر کرنے کا۔

یہ کوڈ بھی دیکھنے میں اچھا ہے لیکن سمجھ نہیں آیا کہ کیا، کیوں اور کیسے ہو رہا ہے۔ :(

مثلاً یہ کہ with_statement کیا کام کرتا ہے؟
enumerate، any اور ڈاٹ لوئر میتھڈ کیا ہیں اور کیسے کام کر رہے ہیں؟
وغیرہ وغیرہ۔
 
پہلی لائن میں اب
with_statement کو امپورٹ کرنے کی ضرورت نہیں ۔ 2.5 ورژن کے بعد یہ پائتھون میں معیار بن گئی ہے۔​

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

اس چیز کو اور باقی کچھ چیزں جو اس کوڈ میں ہیں انہیں بعد میں ہم پڑھیں گے۔​

 
Top