چیک کرنے کے لیے ایک فائل بنائیں:
آپ اس ٹیوٹوریل میں دکھائے گئے مثال کے کوڈ کو جانچنے کے لیے کوئی بھی موجودہ فائل استعمال کر سکتے ہیں یا نئی فائل بنا سکتے ہیں۔ ایک نئی ٹیکسٹ فائل جس کا نام ہے۔ client.txt سبق کے اگلے حصے میں بعد میں استعمال کرنے کے لیے درج ذیل مواد کے ساتھ بنایا گیا ہے۔
شناختی نام ای میل۔
01 جونی لیور [ای میل محفوظ]
02 مانک حسین [ای میل محفوظ]
03 نیہا اکٹر [ای میل محفوظ]
04 جنت الفردوس [ای میل محفوظ]
05 ہلال الدین [ای میل محفوظ]
مثال 1: چیک کریں کہ فائل کھلی ہے یا نہیں IOError استعمال کرکے۔
IOError اس وقت پیدا ہوتا ہے جب ایک فائل کھولنے کے لیے اوپن () فنکشن کہا جاتا ہے جو پہلے کھولی جا چکی ہے۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک ازگر فائل بنائیں تاکہ چیک کریں کہ فائل کھولی گئی ہے یا نہیں۔ آزمائیں سوائے بلاک. یہاں ، کسی بھی موجودہ فائل کا نام ان پٹ کے طور پر لیا جائے گا اور پڑھنے کے لیے کھول دیا جائے گا۔ اگلا ، اسی فائل کو کھولنے کے لیے اوپن () فنکشن کو دوبارہ بلایا جاتا ہے جو کہ IOError اٹھائے گا اور ایرر میسج پرنٹ کرے گا۔
# چیک کرنے کے لیے فائل کا نام لیں۔
فائل کا نام = ان پٹ۔('موجودہ فائل کا نام درج کریں:n')
# اوپن () فنکشن کا استعمال کرتے ہوئے پہلی بار فائل کھولیں۔
فائل ہینڈلر = کھلا۔(فائل کا نام،'ر')
# فائل کو دوبارہ وہی فائل کھولنے کی کوشش کریں۔
کوشش کریں:
کھلے کے ساتھ('فائل کا نام'،'ر') جیسا کہفائل:
# کامیابی کا پیغام چھاپیں۔
پرنٹ کریں('فائل پڑھنے کے لیے کھل گئی ہے۔')
# اگر فائل پہلے کھولی گئی ہے تو غلطی اٹھائیں۔
IOError کے سوا:
پرنٹ کریں('فائل پہلے ہی کھل چکی ہے۔')
آؤٹ پٹ:
مندرجہ بالا اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، client.txt موجودہ مقام میں موجود ہے ، اور غلطی کا پیغام ، فائل پہلے ہی کھل چکی ہے ، کے لیے پرنٹ کیا ہے۔ IOError رعایت.
مثال 2: بند پراپرٹی کا استعمال کرکے چیک کریں کہ فائل بند ہے یا نہیں۔
کی قدر بند اگر کوئی فائل بند ہے تو جائیداد درست ہوگی۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک ازگر فائل بنائیں تاکہ یہ چیک کیا جا سکے کہ فائل بند ہے یا نہیں جو موجودہ مقام پر موجود ہے۔ پچھلی مثال کا اسکرپٹ غلطی پیدا کرے گا اگر صارف سے لیا گیا فائل نام موجودہ مقام پر موجود نہیں ہے۔ یہ مسئلہ اس مثال میں حل ہوا ہے۔ کی تم ماڈیول یہاں فائل کے نام کو چیک کرنے کے لیے استعمال کیا جاتا ہے جو صارف سے لیا جائے گا۔ check_closed () فنکشن نے چیک کیا ہے کہ فائل بند ہے یا نہیں ، اگر فائل موجود ہے تو اسے بلایا جائے گا۔
# فائل کا وجود چیک کرنے کے لیے او ایس ماڈیول درآمد کریں۔
درآمد
# ڈرافائن فنکشن چیک کریں کہ فائل بند ہے یا نہیں۔
def check_closed():
اگرfileHandler.closed == غلط:
# کامیابی کا پیغام چھاپیں۔
پرنٹ کریں('فائل پڑھنے کے لیے کھل گئی ہے۔')
اور:
# غلطی کا پیغام پرنٹ کریں۔
پرنٹ کریں('فائل بند ہو گئی ہے۔')
# چیک کرنے کے لیے فائل کا نام لیں۔
فائل کا نام = ان پٹ۔('موجودہ فائل کا نام درج کریں:n')
# چیک کریں کہ فائل موجود ہے یا نہیں۔
اگرos.path.exists۔(فائل کا نام):
# پڑھنے کے لیے فائل کھولیں۔
فائل ہینڈلر = کھلا۔(فائل کا نام،'ر')
# فنکشن کو کال کریں۔
چیک_ بند()
اور:
# فائل پرنٹ نہ ہونے کی صورت میں پرنٹ کریں۔
پرنٹ کریں('فائل موجود نہیں ہے.')
آؤٹ پٹ:
مندرجہ بالا اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، client.txt موجودہ مقام پر موجود ہے ، اور کامیابی کا پیغام ، فائل پڑھنے کے لیے کھل گئی ہے ، پرنٹ کیا ہے کیونکہ بند جائیداد کی قیمت لوٹ آئی ہے۔ جھوٹا۔ .
مثال 3: چیک کریں کہ فائل کھلی ہے یا نہیں OSError استعمال کرکے۔
کی OSError پیدا ہوتا ہے جب rename () فنکشن کو ایک فائل کے لیے ایک سے زیادہ بار کہا جاتا ہے جو پہلے ہی کھل چکی ہے۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک ازگر فائل بنائیں تاکہ چیک کریں کہ فائل کھولی گئی ہے یا بند ہے۔ OSError . فائل کا وجود چیک کرنے اور فائل کا نام تبدیل کرنے کے لیے اسکرپٹ میں او ایس ماڈیول استعمال کیا گیا ہے۔ جب نام تبدیل کریں () فنکشن کو دوسری بار بلایا گیا ہے ، OSError تیار کیا جائے گا ، اور کسٹم ایرر میسج پرنٹ کیا جائے گا۔
# فائل کا وجود چیک کرنے کے لیے او ایس ماڈیول درآمد کریں۔درآمد
# موجودہ فائل کا نام سیٹ کریں۔
فائل کا نام ='client.txt'
# نیا فائل نام سیٹ کریں۔
نیا نام ='customers.txt'
# چیک کریں کہ فائل موجود ہے یا نہیں۔
اگرos.path.exists۔(فائل کا نام):
کوشش کریں:
# نام تبدیل کرنے کی تقریب کو پہلی بار کال کریں۔
os.rename(فائل کا نام ، نیا نام۔)
# نام تبدیل کرنے کی تقریب کو دوسری بار کال کریں۔
os.rename(فائل کا نام ، نیا نام۔)
# اگر فائل کھل گئی ہے تو غلطی اٹھائیں۔
OSError کے سوا:
پرنٹ کریں('فائل ابھی کھلی ہے۔')
اور:
# فائل پرنٹ نہ ہونے کی صورت میں پرنٹ کریں۔
پرنٹ کریں('فائل موجود نہیں ہے.')
آؤٹ پٹ:
مندرجہ بالا اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، client.txt موجودہ مقام میں موجود ہے ، اور غلطی کا پیغام ، فائل اب بھی کھلی ہے ، پرنٹ کیا ہے کیونکہ OSError استثنا پیدا ہوا جب دوسرا۔ نام تبدیل کریں () فنکشن پر عمل کیا گیا ہے
نتیجہ:
جب ہمیں ایک سکرپٹ میں ایک ہی فائل کے ساتھ کئی بار کام کرنے کی ضرورت ہوتی ہے ، تو یہ جاننا ضروری ہوتا ہے کہ فائل کھلی ہے یا بند ہے۔ فائل آپریشن مکمل کرنے کے بعد فائل کو بند کرنے کے لیے بند () فنکشن کو کال کرنا بہتر ہے۔ خرابی اس وقت ہوتی ہے جب کسی فائل کو بند کیے بغیر دوسری بار اسی اسکرپٹ میں کھولا جاتا ہے۔ اس مسئلے کے مختلف حل اس ٹیوٹوریل میں ازگر استعمال کرنے والوں کی مدد کے لیے سادہ مثالیں استعمال کرکے دکھائے گئے ہیں۔