محمداحمد

لائبریرین
سب سے پہلے ایک انگریزی کی ایک خوبصورت نظم پڑھتے ہیں۔

The Man Who Thinks He Can
If you think you are beaten, you are;
If you think you dare not, you don't.
If you'd like to win, but think you can't
It's almost a cinch you won't.
If you think you'll lose, you've lost
For out in the world we find
Success being with a fellow's will;
It's all in the state of mind.
If you think you're outclassed, you are:
You've got to think high to rise.
You've got to be sure of yourself before
You can ever win a prize.
Life's battles don't always go
To the stronger or faster man,
But soon or late the man who wins
Is the one who thinks he can.
Walter D. Wintle



File Reading
فائل پڑھنے کے لئے پائتھون ہمیں تین طریقہ کار فراہم کرتا ہے۔

1. Read
2. Readline
3. Readlines

مثال کے طور پر ہماری پائتھون ڈیفالٹ ڈائریکٹری C:\Python32 میں ایک فائل poem.txt کے نام سے موجود ہے جس میں ایک انگریزی نظم تحریر کی ہوئی ہے۔ ہم فائل ریڈنگ کے مذکورہ بالا طریقوں کی مدد سے اس فائل کو read کریں گے۔

Read
یہ طریقہ پوری فائل کو یکمشت پڑھنے کا کام کرتا ہے۔
PHP:
>>> file = open("poem.txt"")
>>> result = file.read()
>>> print (result)

یہاں ہم نے ایک متغیر ( variable ) جس کا نام file میں open طریقہ کے ذریعے فائل poem.txt اوپن کروائی ہے۔ (فائل چونکہ ڈیفالٹ ڈائریکٹری میں ہے تو صرف فائل کا نام دینا ہی کافی ہے، اور اضافی پاتھ کی ضرورت نہیں ہے)۔ پھر ایک نئے متغیر ( variable ) میں read کے طریقہ سے پڑھ کر پوری فائل کی عبارت کو result میں محفوظ کر لیا گیا اورآخر میں پرنٹ کروا لیا ۔

نظم کی عبارت نیچے for لوپ والی پوسٹ میں درج ہے۔
 

محمداحمد

لائبریرین
Readline
readline ایک وقت میں صرف ایک لائن پڑھنے کا کام کرتی ہے۔ اور ہر بار کمانڈ کی تکرار پر ایک نئی لائن پڑھی جاتی ہے۔
PHP:
>>> file = open("poem.txt")
>>> file.readline()
'The Man Who Thinks He Can\n'
>>> file.readline()
'\n'
>>> file.readline()
'If you think you are beaten, you are;\n'
>>> file.readline()
"If you think you dare not, you don't.\n"
>>> file.readline()
"If you'd like to win, but think you can't\n"
>>>

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

محمداحمد

لائبریرین
Readlines
یہ طریقہ فائل کی تمام لائنوں کو پڑھ کر اسے ایک لسٹ میں محفوظ کر لیتا ہے۔ اور ہم اس طریقے کو تب استعمال کرتے ہیں جب ہمیں فائل کی تمام لائنوں کر پڑھنا ہو۔
PHP:
>>> file = open ("poem.txt")
>>> result = file.readlines()
>>> print (result)
['The Man Who Thinks He Can\n', '\n', 'If you think you are beaten, you are;\n', "If you think you dare not, you don't.\n", "If you'd like to win, but think you can't\n", "It's almost a cinch you won't.\n", '\n', "If you think you'll lose, you've lost,\n", 'For out in the world we find\n', "Success being with a fellow's will;\n", "It's all in the state of mind.\n", '\n', "If you think you're outclassed, you are:\n", "You've got to think high to rise.\n", "You've got to be sure of yourself before\n", 'You can ever win a prize.\n', '\n', "Life's battles don't always go\n", 'To the stronger or faster man,\n', 'But soon or late the man who wins\n', 'Is the one who thinks he can.\n', '\n', 'Walter D. Wintle']

آپ دیکھ سکتے ہیں کہ readlines کے تحت فائل کی تمام تر سطور (lines) متغیر (variable) بنام result کو تفویض (assign) کردی گئی ہیں۔

ریڈلائنز کا ایک فائدہ یہ ہے کہ ہم ہر سطر (line) کو اشاریہ(index) کی مدد سے پکار (call) سکتے ہیں۔ :)

PHP:
>>> file = open ("poem.txt"")
>>> result = file.readlines()
>>> result[0]
'The Man Who Thinks He Can\n'
>>> result[1]
'\n'
>>> result[2]
'If you think you are beaten, you are;\n'
>>> result[12]
"If you think you're outclassed, you are:\n"
>>>
 

محمداحمد

لائبریرین
For line in file

ہم فائل کو پڑھنے کے لئے For Loop بھی استعمال کر سکتے ہیں ۔

PHP:
>>> file = open("poem.txt")
>>> for line in file:
>>>     print(line, end='')
 
 
The Man Who Thinks He Can
 
If you think you are beaten, you are;
If you think you dare not, you don't.
If you'd like to win, but think you can't
It's almost a cinch you won't.
 
If you think you'll lose, you've lost,
For out in the world we find
Success being with a fellow's will;
It's all in the state of mind.
 
If you think you're outclassed, you are:
You've got to think high to rise.
You've got to be sure of yourself before
You can ever win a prize.
 
Life's battles don't always go
To the stronger or faster man,
But soon or late the man who wins
Is the one who thinks he can.
 
Walter D. Wintle

یہاں ہم نے For Loop کے ذریعے ایک ایک سطر کو ایک ویری ایبل line میں لیا اور پھر loop کے ذریعے پرنٹ کروا دیا۔ چونکہ پرنٹ فنکشن ہر لائن کے بعد ایک اسپیس دیتا ہے اس لئے ہم نے end=''" استعمال کیا ہے۔
 

محمداحمد

لائبریرین
Writing Files
reading کے طرح پائتھون پروگرامنگ file writing کی سہولت بھی فراہم کرتی ہے۔​
یعنی ہم کسی موجودہ فائل میں بھی عبارت لکھ سکتے ہیں اور کسی نئی فائل میں بھی۔​
PHP:
>>> file = open("existing_file.txt",'w')
>>> file.write("This is a sample text to be writen in an existing file \nsurely.")
63
>>> file.close()

یہاں پہلے سے موجود ایک فائل میں کچھ عبارت لکھنے کی کمانڈ دی گئی ہے۔ فائل کو write mode میں کھولا گیا ہے(فائل پڑھنے کے لیے موڈ دیے بغیر بھی کام چل جاتا ہے یعنی موڈ نہ دینے پر یہ فرض کر لیا جاتا ہے کہ اسے پڑھنے کے لیے ہی کھولا گیا ہےمگر فائل میں لکھنے کے لیے موڈ کا بتانا ضروری ہوتا ہے)۔

یاد رہے کہ اگر فائل میں پہلے سے کچھ عبارت ہوگی تو وہ over-write ہو جائے گی۔ write کمانڈ کے بعد فائل کلوز کرنا ضروری ہے، ورنہ فائل میں آپ کو مطلوبہ تبدیلیاں نظر نہیں آ سکیں گی۔ فائل چونکہ پائتھون ڈیفالٹ ڈائریکٹری C:\Python32 میں موجود ہے اس لئے اضافی پاتھ نہیں دینا پڑا۔

PHP:
>>> file = open("new.txt",'w')
>>> file.write("This is a sample text to be writen in new file \nsurely.")
55
>>> file.close()

اگر فائل پہلے سے موجود نہیں ہے تو write command ایک نئی فائل بناتی ہے۔ اس فائل کو بھی ڈیفالٹ ڈائیکٹری میں دیکھا جا سکتا ہے۔
 
PHP:
>>> file = open("new.txt",'w')
>>> file.write("This is a sample text to be writen in new file \nsurely.")
55
>>> file.close()

اگر فائل پہلے سے موجود نہیں ہے تو write command ایک نئی فائل بناتی ہے۔ اس فائل کو بھی ڈیفالٹ ڈائیکٹری میں دیکھا جا سکتا ہے۔[/quote]
اس میں \nsurely کا استعمال کیوں ہے؟؟
 

محمداحمد

لائبریرین
PHP:
>>> file = open("new.txt",'w')
>>> file.write("This is a sample text to be writen in new file \nsurely.")
55
>>> file.close()

اگر فائل پہلے سے موجود نہیں ہے تو write command ایک نئی فائل بناتی ہے۔ اس فائل کو بھی ڈیفالٹ ڈائیکٹری میں دیکھا جا سکتا ہے۔
اس میں \nsurely کا استعمال کیوں ہے؟؟[/quote]

کوڈ:
\n

نئی لائن کے لئے لکھا جاتا ہے۔ یعنی لکھنے والے کی خواہش ہے کہ لفظ (surely) اگلی لائن پر آئے۔
 
نیز اگر موڈ کے ساتھ یو ٹی ایف اینکوڈنگ بھی ذکر کر دی جائے تو یونیکوڈ کی معاونت بھی شامل ہو جائے گی۔
PHP:
with open("newfile.txt",  'r', encoding='utf-8') as f:
    f.read()

یا
PHP:
with open("newfile.txt", mode='r', encoding='utf-8') as f:
    f.read()
 
Top