ایک ڈکٹ کو فائل میں محفوظ کریں۔

Save Dict File



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

ہم ازگر میں فائل کو مختلف طریقوں سے لغت لکھ سکتے ہیں جیسے:







  1. کوما سے الگ ویلیو فائل (.csv)
  2. Json فائل (.json)
  3. ٹیکسٹ فائل (.txt)
  4. اچار فائل (.pkl)

ہم مندرجہ بالا تمام طریقوں کی وضاحت کرنے جا رہے ہیں۔



طریقہ 1: لغت کو CSV فارمیٹ میں محفوظ کریں۔

لغت کو CSV (کوما علیحدہ اقدار) میں محفوظ کرنے کے لیے ، ہم CSV ماڈیول استعمال کرتے ہیں۔ ازگر کے حکم کو بچانے کے لیے کوما سے الگ اقدار سب سے عام اور مشہور طریقہ ہے۔ زیادہ تر پروگرامرز یہ طریقہ صرف ڈکٹ کو فائل میں محفوظ کرنے کے لیے استعمال کرتے ہیں۔ لغت کو CSV کے طور پر فائل میں محفوظ کرنا بہت آسان ہے کیونکہ ہمیں ڈیٹا کو بطور تار منتقل کرنا پڑتا ہے۔



مثال_1: dict_to_csv.py۔





# dict_to_csv.py
درآمد سی ایس وی

dict_sample= {'نام':'LinuxHint'، 'شہر':'وہ'، 'تعلیم':'انجینئرنگ'}

کے ساتھ کھلا('data.csv'، 'میں') جیسا کہf:
کے لیےچابیمیںdict_sampleچابیاں():
fلکھیں('٪ s،٪ sn'٪(چابی،dict_sample[چابی]))

لائن 2۔ : ہم CSV ازگر ماڈیول درآمد کرتے ہیں۔

لائن 4۔ : ہم نے ایک نمونہ ڈک ڈیٹا بنایا۔ ہم اسے CSV فائل کی شکل میں محفوظ کرنے کی کوشش کرنے جا رہے ہیں۔



لائن 6: ہم یہاں CSV فائل لکھنے کے لیے 'with' بیان استعمال کر رہے ہیں۔ 'کے ساتھ' بیان کسی فائل کے پڑھنے یا لکھنے کے دوران خود بخود استثناء کو سنبھالتا ہے۔ ہم فائل data.csv کو لکھنے کے موڈ میں کھولتے ہیں اور اس شے کو متغیر f پر تفویض کرتے ہیں۔

لائن 7۔ ، ہم ایک لوپ چلا رہے ہیں جو کلید نکالتا ہے ، اور اگلی لائن میں ، یہ کلید اور key_value کو CSV فائل میں لکھتا ہے۔ تو یہ لوپ اس وقت تک چلے گا جب تک کہ ڈیٹا نہ ہو۔

آؤٹ پٹ: data.csv

نام،لینکس ہنٹ۔
شہر،وہ
تعلیم،انجینئرنگ

تو ، مندرجہ بالا data.csv پر لکھنے کے بعد آؤٹ پٹ فائل دکھاتا ہے۔

اب ، ہم سمجھ گئے ہیں کہ کس طرح ڈکٹ کو CSV کی شکل میں فائل میں محفوظ کیا جائے۔ آئیے ایک اور مثال کے ساتھ کوشش کرتے ہیں جہاں ہم CSV فائل میں ڈکٹ اشیاء کی فہرست لکھنا چاہتے ہیں۔

مثال_2: dict_to_csv_2.py۔

# dict_to_csv_2.py

درآمد سی ایس وی

csvColumns= ['شہر'، 'ملک'، 'رینک']
dictDemo= [
{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
]
csvFileName= 'data.csv'
کوشش کریں:
کے ساتھ کھلا(csvFileName، 'میں') جیسا کہf:
مصنف= سی ایس وی.ڈکٹ رائٹر۔(f،فیلڈ نام=csvColumns)
مصنفرائٹ ہیڈر()
کے لیےڈیٹامیںdictDemo:
مصنفلکھاری(ڈیٹا)
سوائے IOError:
پرنٹ کریں('غلطی ہو گئی')

لائن 3 سے 12: ہم ازگر CSV ماڈیول درآمد کرتے ہیں اور ڈکٹ اشیاء کی فہرست بناتے ہیں۔ ہم نے کالم کے ناموں کی فہرست بھی بنائی۔

لائن 13: ہم نے CSV فائل کا نام ایک متغیر کو تفویض کیا۔

لائن 15: ہم 'کے ساتھ' بیان استعمال کرتے ہیں ، اور بیان نے __enter__ طریقہ واپسی اعتراض f متغیر کو تفویض کیا ہے۔

لائن 16 سے 19: متغیر f کو ریٹرن آبجیکٹ تفویض کرنے کے بعد ، ہم نے CSV ماڈیول کا DictWriter طریقہ کہا اور دو پیرامیٹرز (فائل کا نام (f) اور کالم کے نام) پاس کیے۔ پھر ہم ایک اور طریقہ رائٹ ہیڈر () کہتے ہیں جو CSV فائل کی پہلی صف لکھے گا ، جو عام طور پر فیلڈز کا نام ہے۔ پھر ہم ڈکٹ اشیاء کی فہرست میں ایک لوپ چلاتے ہیں اور رائٹر () طریقہ استعمال کرتے ہوئے ایک ایک کرکے CSV فائل میں لکھتے ہیں۔

طریقہ 2: حکم کو ٹیکسٹ فائل میں JSON فارمیٹ میں محفوظ کریں (موڈ اپینڈ کریں)

ہم JSON کی شکل میں ڈکٹ اشیاء کو بھی فائل میں محفوظ کر سکتے ہیں۔ ذیل کا کوڈ اسی کی وضاحت کرے گا۔ یہ کوڈ یہ بھی بتاتا ہے کہ ہم JSON کی موجودہ فہرست میں نیا JSON کیسے شامل کر سکتے ہیں۔

مثال : dict_to_file_asJSON.py۔

#dict_to_file_asJSON.py۔

درآمدjson

dictDemo= [
{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
]

فائل کا نام= 'dict.json'

# فائل میں ڈکٹ آبجیکٹ کی فہرست لکھنا۔
کے ساتھ کھلا(فائل کا نام،موڈ='میں') جیسا کہf:
jsonڈمپ(dictDemo،f)

# ایک فائل پر ایک نیا ڈکٹ آبجیکٹ لکھنے کے طور پر لکھنا اور پوری فائل کو اوور رائٹ کرنا۔
کے ساتھ کھلا(فائل کا نام،موڈ='میں') جیسا کہf:
dictDemo.شامل کریں({'شہر':'بیجنگ'، 'ملک':'چین'})
jsonڈمپ(dictDemo،f)

آؤٹ پٹ۔ : dict.json

[{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
{'شہر':'بیجنگ'، 'ملک':'چین'}
]

لائن 1 تا 13۔ : ہم JSON ماڈیول درآمد کرتے ہیں۔ پھر ہم ڈیمو کے لیے ڈکٹ اشیاء کی ایک فہرست بناتے ہیں۔ پھر ہم نے JSON فائل کا نام ایک متغیر فائل نام کو تفویض کیا۔

لائن 15 سے 17۔ : ہم لکھنے کے لیے JSON فائل کھولنے کے لیے 'with' بیان استعمال کر رہے ہیں ، اور پھر ہم json.dump طریقہ استعمال کرتے ہیں تاکہ ڈکٹ اشیاء کو JSON میں تبدیل کریں اور پھر فائل میں لکھیں۔

لائن 20 سے 22: یہ لائنیں بہت اہم ہیں کیونکہ کیا ہوگا؟ اگر ہم پہلے سے لکھی ہوئی فائلوں میں نئی ​​JSON اشیاء شامل کرنے کی کوشش کرتے ہیں۔ اوور رائٹنگ کی وجہ سے پچھلا ڈیٹا ضائع ہو جائے گا۔ پھر ہم پچھلے ڈک لسٹ کا نام استعمال کر سکتے ہیں جیسا کہ ہم نے کیا تھا (dictDemo) ، اور پھر ہم اس میں نئی ​​چیز شامل کرتے ہیں۔ اور آخر میں ، ہم پوری فائل کو JSON میں تبدیل کرتے ہیں اور پوری فائل کو اوور رائٹ کر دیتے ہیں۔

آؤٹ پٹ میں ، ہم دیکھ سکتے ہیں کہ ایک نیا JSON آبجیکٹ موجودہ JSON فہرست میں شامل کیا گیا ہے۔

طریقہ 3: لغت کی اشیاء کو txt فارم میں فائل میں محفوظ کریں۔

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

مثال: dict_to_txt.py

#dict_to_txt.py

dictDemo= [
{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
]

فائل کا نام= 'dict.txt'

# فائل میں ڈکٹ آبجیکٹ کی فہرست لکھنا۔
کے ساتھ کھلا(فائل کا نام،موڈ='میں') جیسا کہf:
fلکھیں(p(dictDemo))

آؤٹ پٹ: dict.txt

[{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}]

لائن 1 سے 11۔ : ہم نے لغت کی اشیاء کی ایک فہرست بنائی اور فائل کا نام dict.txt کو ایک متغیر فائل کے نام سے تفویض کیا۔

لائن 14 سے 15۔ : ہم یہاں 'کے ساتھ' بیان استعمال کر رہے ہیں ، جو خود بخود استثنا کو سنبھالتا ہے۔ اور ہم ڈکٹ آبجیکٹ لسٹ کو فائل میں سٹرنگ کے طور پر لکھ رہے ہیں۔

مثال: dict_to_txt_2.py

ہم نے دیکھا ہے کہ ڈکٹ اشیاء کو .txt فارم میں فائل میں کیسے محفوظ کیا جائے۔ لیکن مذکورہ کوڈ میں ، ایک نئی چیز کو شامل کرنے میں ایک مسئلہ ہے۔ لہذا ، ہم ضمیمہ کا طریقہ 'ڈبلیو' سے 'اے' میں تبدیل کرتے ہیں ، جو ہمارے مسئلے کو حل کر سکتا ہے جیسا کہ ذیل میں کوڈ میں دکھایا گیا ہے۔

#dict_to_txt_2.py

'' ': cvar
یہ کوڈ فائل میں ڈکٹ اشیاء کو محفوظ کرے گا
موڈ شامل کریں
''

dictDemo= [
{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
]

فائل کا نام= 'dict_to_file_appendMode.txt'

# فائل میں ڈکٹ آبجیکٹ کی فہرست لکھنا۔
کے ساتھ کھلا(فائل کا نام،موڈ='سے') جیسا کہf:
fلکھیں(p(dictDemo))

لائن 7 سے 15۔ : ہم نے لغت کی اشیاء کی ایک فہرست بنائی اور فائل کا نام dict_to_file_appendMode.txt ایک متغیر فائل نام کو تفویض کیا۔

لائن 18 سے 19۔ : ہم موڈ = 'a' کو تبدیل کرتے ہیں ، اور اس سے ہمارا مسئلہ حل ہو جائے گا۔ مندرجہ ذیل آؤٹ پٹ سے پتہ چلتا ہے کہ ہم نے پچھلے ڈیٹا کو اوور رائٹ کیے بغیر ایک ہی فائل میں دو ڈکٹ اشیاء شامل کی ہیں۔

آؤٹ پٹ: dict_to_file_appendMode.txt۔

[{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}]

[{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}]

طریقہ 4: اچار کے طریقہ کار کا استعمال کرتے ہوئے ڈک آبجیکٹ کو فائل میں محفوظ کریں۔

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

# dict_to_file_use_pickle.py

درآمد اچار

dictDemo= [
{'شہر':'نیویارک'، 'ملک':استعمال کرتا ہے، 'رینک':}،
{'شہر':'سڈنی'، 'ملک':'آسٹریلیا'، 'رینک':}،
{'شہر':'دبئی'، 'ملک':'متحدہ عرب امارات'، 'رینک':10۔}،
{'شہر':'ممبئی'، 'ملک':'انڈیا'، 'رینک':17۔}،
{'شہر':'بیجنگ'، 'ملک':'چین'، 'رینک':}،
]

فائل کا نام= 'picklefile.pkl'

کے ساتھ کھلا(فائل کا نام، 'دور') جیسا کہf:
اچار.ڈمپ(dictDemo،f)

لائن 3 سے 13۔ : ہم ماڈیول اچار درآمد کرتے ہیں اور ڈکٹ اشیاء کی فہرست بناتے ہیں۔ ہم ایک فائل نام بھی بناتے ہیں جہاں ہم اپنی ڈکٹ اشیاء کو محفوظ کریں گے۔

لائن 15 سے 16۔ : ہم یہاں 'کے ساتھ' بیان استعمال کر رہے ہیں اور فائل کو اپینڈنگ موڈ اور بائنری فارمیٹ کے ساتھ کھول رہے ہیں۔ پھر ہم ڈکٹ اشیاء کو فائل میں پھینک دیتے ہیں۔

نتیجہ

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

اس مضمون کا کوڈ اس لنک سے ڈاؤن لوڈ کیا جا سکتا ہے:

https://github.com/shekharpandey89/save-dict-object-to-a-file