ازگر میں ورکنگ ڈائرکٹری کو کیسے تبدیل کیا جائے۔

How Change Working Directory Python



ورکنگ ڈائرکٹری ایک موجودہ ڈائریکٹری ہے جس میں ہم کام کر رہے ہیں اور جس سے اسکرپٹ چلائی جاتی ہے۔ اس ڈائرکٹری کے اندر ، ہمارے پاس بہت سی فائلوں تک رسائی ہے (جو اس کے اندر موجود ہیں)۔ تاہم ، ہمیں بعض اوقات ڈائریکٹریوں کو تبدیل کرنے اور فائلوں اور فولڈروں کے درمیان آگے پیچھے جانے کی ضرورت ہوتی ہے۔ اس سبق میں ، ہم سیکھیں گے کہ ازگر میں ورکنگ ڈائرکٹری کو کیسے تبدیل کیا جائے۔

OS ماڈیول

سب سے پہلے ، اس کو حاصل کرنے کے لیے ، ہمیں ازگر میں OS ماڈیول کی ضرورت ہوگی۔ چونکہ یہ پہلے سے انسٹال ہوتا ہے ، اس لیے کچھ بھی انسٹال کرنے کی ضرورت نہیں ہے۔ OS ماڈیول عام طور پر Python میں استعمال ہوتا ہے تاکہ سسٹم پر موجود فائلوں اور فولڈرز کو آپس میں بات چیت ، انتظام اور ترمیم کے لیے استعمال کیا جا سکے۔ مثال کے طور پر ، ہم ڈائریکٹریز بنا سکتے ہیں/ہٹا سکتے ہیں ، ورکنگ ڈائریکٹریز کو تبدیل کر سکتے ہیں ، واک تھرو فائلیں چیک کر سکتے ہیں کہ فائلیں موجود ہیں یا نہیں۔ یہ کہنے کی ضرورت نہیں کہ یہ ایک بہت مفید ماڈیول ہے۔







موجودہ ورکنگ ڈائرکٹری حاصل کرنا۔

موجودہ ورکنگ ڈائرکٹری حاصل کرنے کے لیے ، ہم getcwd () طریقہ۔ OS ماڈیول سے براہ کرم یہاں نوٹ کریں کہ کوئی دلیل نہیں دی گئی ہے۔ میرے معاملے میں ، آؤٹ پٹ تھا۔ /home/kalyani/PycharmProjects/pythonProject1 اوبنٹو مشین پر (PyCharm چل رہا ہے)۔ اس کا مطلب ہے کہ مرکزی سکرپٹ - main.py - اس فولڈر (pythonProject1) کے اندر واقع ہے۔ اور آپ کو یاد رکھیں ، ورکنگ ڈائرکٹری ، سب سے پہلے اور ایک فولڈر!



درآمد تم

# موجودہ ورکنگ ڈائرکٹری حاصل کریں۔

current_directory= تم.getcwd()

پرنٹ کریں('آپ کی موجودہ ورکنگ ڈائرکٹری٪ s ہے'٪ current_directory)



موجودہ ورکنگ ڈائرکٹری کو تبدیل کرنا۔

اپنی ورکنگ ڈائرکٹری کو تبدیل کرنا chdir () طریقہ کے ساتھ آسان ہے ، جو بالکل ایک دلیل لیتا ہے - نئے مقام کا راستہ بطور تار۔





درآمد تم

# موجودہ ورکنگ ڈائرکٹری حاصل کریں۔

current_directory= تم.getcwd()

پرنٹ کریں('آپ کی موجودہ ورکنگ ڈائرکٹری٪ s ہے'٪ current_directory)

سب سے پہلی بات یہ ہے کہ ورکنگ ڈائرکٹری کا نیا راستہ طے کریں۔ اوبنٹو پر ، یہ بہت سیدھا ہے!

# آئیے ایک نئی ورکنگ ڈائرکٹری مرتب کریں۔

new_working_directory= '/گھر/کلیانی/ڈیسک ٹاپ/ازگر ڈائریکٹری'

ونڈوز پر ، آپ کو ڈائرکٹری کی وضاحت کے لیے ڈبل بیک سلیش استعمال کرنے کی ضرورت ہے۔



#new_working_directory = 'C: ers Users \ never \ Desktop \ PythonDirectory'

اگلا ، ہم کوشش کے سوا شق کی وضاحت کرتے ہیں۔ اگر راستہ موجود ہے تو ، ہم chdir () طریقہ استعمال کریں گے تاکہ ورکنگ ڈائرکٹری کو نئی ورکنگ ڈائرکٹری میں تبدیل کیا جاسکے۔ اگر راستہ ڈائریکٹری نہیں ہے تو ، یہ ایک غلطی پھینک دے گا!

کوشش کریں:

تم.chdir(new_working_directory)

پرنٹ کریں('ورکنگ ڈائرکٹری تبدیل کر دی گئی ہے!')

پرنٹ کریں('WD:٪ s'٪تم.getcwd())


سوائےNotADirectoryError:

پرنٹ کریں('آپ نے ڈائریکٹری کا انتخاب نہیں کیا۔')


سوائےFileNotFoundError:

پرنٹ کریں('فولڈر نہیں ملا۔ راستہ غلط ہے۔ ')


سوائےاجازت کی خرابی:

پرنٹ کریں('آپ کو اس فولڈر/فائل تک رسائی نہیں ہے۔')

مکمل کوڈ اس طرح نظر آئے گا:

درآمد تم

# موجودہ ورکنگ ڈائرکٹری حاصل کریں۔

current_directory= تم.getcwd()

پرنٹ کریں('آپ کی موجودہ ورکنگ ڈائرکٹری٪ s ہے'٪ current_directory)

# آئیے ایک نئی ورکنگ ڈائرکٹری مرتب کریں۔

#new_working_directory = '/home/kalyani/desktop/pythonDirectory'

new_working_directory=r'سی:یوخدمت کریںnکبھیڈی۔ڈیسک ٹاپ. پی۔ythonDirectory '

کوشش کریں:

تم.chdir(new_working_directory)

پرنٹ کریں('ورکنگ ڈائرکٹری تبدیل کر دی گئی ہے!')

پرنٹ کریں('WD:٪ s'٪تم.getcwd())


سوائےNotADirectoryError:

پرنٹ کریں('آپ نے ڈائریکٹری کا انتخاب نہیں کیا۔')


سوائےFileNotFoundError:

پرنٹ کریں('فولڈر نہیں ملا۔ راستہ غلط ہے۔ ')


سوائےاجازت کی خرابی:

پرنٹ کریں('آپ کو اس فولڈر/فائل تک رسائی نہیں ہے۔')

در حقیقت ، غلطیاں مختلف اقسام کے استثناء کو بڑھا سکتی ہیں:

میں. NotADirectoryError:

اب فرض کریں کہ ایک مثال کے طور پر میں نے راستے یا نئی ورکنگ ڈائرکٹری کے لیے درج ذیل کوڈ لکھا ہے۔

new_working_directory= 'سی:۔صارفین۔۔کبھی نہیں۔ڈیسک ٹاپ۔ازگر ڈائریکٹری۔۔text.txt '

جو آپ یہاں نوٹ کر سکتے ہیں وہ یہ ہے کہ میں ٹیکسٹ دستاویز کی طرف اشارہ کر رہا ہوں جسے text.txt کہتے ہیں۔ اور مؤخر الذکر ایک غلطی پھینک دے گا جسے NotADirectoryError کہا جاتا ہے۔ دوسرے لفظوں میں ، آپ کا راستہ کسی قسم کی ڈائریکٹری کی طرف اشارہ کرنا چاہیے۔

ii FileNotFoundError:

ایک FileNotFoundError اس وقت پھینکا جاتا ہے جب راستہ موجود نہ ہو۔ لہذا ، اس لمحے کے لئے فرض کریں کہ میرے پاس ڈیسک ٹاپ پر PythonDirectory کے نام سے کوئی ڈائریکٹری نہیں ہے اور میں نے اپنا راستہ طے کیا ہے:

new_working_directory= 'سی:یوخدمت کریںnکبھیڈی۔ڈیسک ٹاپ. پی۔ythonDirectory '

یہ پھینک دے گا a FileNotFoundError۔ . اس غلطی کا سیدھا مطلب یہ ہے کہ جس ڈائریکٹری کی طرف ہم اشارہ کر رہے ہیں وہ موجود نہیں ہے یا نہیں ملی۔

iii اجازت کی خرابی:

TO اجازت کی خرابی۔ اٹھایا جاتا ہے جب صارف کو منتخب کردہ ڈائریکٹری میں ترمیم کرنے یا اس تک رسائی کی مناسب اجازت نہیں ہوتی ہے۔

iv نحو کی خرابی:

نحو کی غلطی اس وقت ہوتی ہے جب راستے میں نحو کی خرابی ہو۔ ونڈوز پر ، اگر ہم یہ کہنے کے لیے لکھتے ہیں:

new_working_directory= 'سی:یوخدمت کریںnکبھیڈی۔ڈیسک ٹاپ. پی۔ythonDirectory '

ایک مصنوعی غلطی پھینک دی گئی ہے! تاہم ، ایک نحو کی خرابی کو پکڑنا بہت مشکل ہے کیونکہ اس کی جانچ ، درآمد یا عملدرآمد کی ضرورت ہے۔ اس طرح ، جب ہم بلاک آزمائشی بلاکس لکھتے ہیں ، اس طرح کی غلطی کو پکڑنا مشکل ہوتا ہے۔

ونڈوز پر ، کسی بھی غلطی سے بچنے کے لیے ، راستے کو تین مختلف طریقوں میں سے ایک میں لکھا جا سکتا ہے تاکہ کوئی غلطی نہ پھینکی جائے:

طریقہ 1: اس طریقہ کار میں ، ہم سٹرنگ لگانے سے پہلے ایک r شامل کرتے ہیں۔

new_working_directory=r'سی:. یوخدمت کریںnکبھیڈی۔ڈیسک ٹاپ. پی۔ythonDirectory '

طریقہ 2: ہم ڈبل بیک سلیش استعمال کرتے ہیں۔

new_working_directory= 'سی:۔صارفین۔۔کبھی نہیں۔ڈیسک ٹاپ۔ازگر ڈائریکٹری '

طریقہ 3: ہم ایک سنگل فارورڈ سلیش استعمال کرتے ہیں۔

new_working_directory= 'C:/Users/never/Desktop/PythonDirectory'

پاتھ ماڈیول

ہم راستہ ماڈیول کا استعمال کرتے ہوئے ورکنگ ڈائرکٹری کو بھی تبدیل کر سکتے ہیں۔ پہلے ، مندرجہ ذیل راستہ انسٹال کریں (میں نے ماڈیول کا لنک بھی دیا ہے):

پائپ انسٹال کرنے کا راستہ۔

(https: // pypi.org/پروجیکٹ/راستہ/)

اگلا ، ہم لکھتے ہیں:

سےراستہدرآمدراستہ۔

درآمد تم

پہلے ، آئی او ایس ماڈیول اور getcwd () طریقہ استعمال کرتے ہوئے موجودہ ورکنگ ڈائرکٹری کو چیک کریں۔

# آئیے موجودہ ورکنگ ڈائرکٹری کو چیک کریں۔

cwd= تم.getcwd()

پرنٹ کریں('موجودہ ورکنگ ڈائرکٹری ہے:٪ s'٪ cwd)

پرنٹ کریں('---------------------------------------------')

اگلا ، نئی ورکنگ ڈائرکٹری کا راستہ طے کریں۔ اس معاملے میں ، میں نے ونڈوز مشین پر مثال قائم کرنے کا انتخاب کیا ہے:

# نئی ورکنگ ڈائرکٹری کا راستہ طے کریں۔

نیا راستہ۔= 'سی:۔صارفین۔۔کبھی نہیں۔ڈیسک ٹاپ۔ازگر ڈائریکٹری '

ورکنگ ڈائرکٹری کو تبدیل کرنے کے لیے Path () کا استعمال کریں۔ Path () یہاں صرف ایک دلیل لیتا ہے: نئی ورکنگ ڈائرکٹری کا اصل راستہ اور کام کو پورا کرنے کے لیے chdir () طریقہ استعمال کرتا ہے۔

# ورکنگ ڈائرکٹری کو تبدیل کریں۔

راستہ۔(نیا راستہ۔).chdir()

دوبارہ چیک کریں کہ ورکنگ ڈائرکٹری کو تبدیل کیا گیا ہے۔ اور یہاں ، جیسا کہ آپ تصویر میں دیکھ سکتے ہیں ، ورکنگ ڈائرکٹری کو واقعی تبدیل کر دیا گیا ہے!

# ورکنگ ڈائرکٹری کو دوبارہ چیک کریں۔

# کیا اسے تبدیل کیا گیا ہے؟

cwd= تم.getcwd()

پرنٹ کریں('نئی ورکنگ ڈائریکٹری٪ s ہے'٪ cwd)

ورکنگ ڈائرکٹریوں کو تبدیل کرنا ایک آسان کام ہے اور اس میں ایک طریقہ ہے - chdir (path) طریقہ۔ تاہم ، اس پر منحصر ہے کہ آپ ونڈوز مشین پر ہیں یا لینکس مشین پر ، آپ کو محتاط رہنا ہوگا کہ آپ راستے کو بطور تار کیسے داخل کرتے ہیں۔ اگر غلط طریقے سے داخل کیا گیا تو ، یہ ایک غلطی پھینک سکتا ہے!

مبارک ہو کوڈنگ!