ازگر کا استعمال کرتے ہوئے ڈائرکٹری میں تمام فائلوں کی فہرست بنانے اور انہیں فہرست میں شامل کرنے کا طریقہ

Python

Python میں ڈائریکٹری فائل کی فہرست

ڈائرکٹری میں تمام فائلوں کی فہرست Python پروگرامنگ میں ایک عام کام ہے، چاہے آپ فائلوں کو ترتیب دے رہے ہوں، ڈیٹا پر کارروائی کر رہے ہوں، یا خودکار کام کر رہے ہوں۔ ازگر اسے آسانی سے اور مؤثر طریقے سے پورا کرنے کے لیے کئی طریقے فراہم کرتا ہے۔

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

کمانڈ تفصیل
os.walk(directory_path) اوپر سے نیچے یا نیچے سے اوپر چل کر ڈائریکٹری کے درخت میں فائل کے نام تیار کرتا ہے۔
os.path.join(root, file) ایک یا زیادہ راستے کے اجزاء کو ذہانت سے جوڑتا ہے، ضروری ڈائرکٹری الگ کرنے والے شامل کرتا ہے۔
Path(directory_path) مخصوص ڈائریکٹری پاتھ کے لیے ایک پاتھ آبجیکٹ بناتا ہے، فائل سسٹم پاتھ کو سنبھالنے کے لیے مختلف طریقے فراہم کرتا ہے۔
path.rglob('*') ڈائرکٹری میں مخصوص پیٹرن سے مماثل تمام موجودہ فائلوں کو بار بار حاصل کرتا ہے۔
file.is_file() اگر پاتھ ایک باقاعدہ فائل ہے (ڈائریکٹری یا سملنک نہیں) تو درست لوٹاتا ہے۔
str(file) پاتھ آبجیکٹ کو فائل پاتھ کی سٹرنگ نمائندگی میں تبدیل کرتا ہے۔

ازگر میں ڈائریکٹری لسٹنگ اسکرپٹ کو سمجھنا

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

دوسرا اسکرپٹ ملازم کرتا ہے۔ لائبریری، جو فائل سسٹم کے ساتھ تعامل کے لیے آبجیکٹ پر مبنی انٹرفیس فراہم کرتی ہے۔ ہم ایک تخلیق کرکے شروع کرتے ہیں۔ دی گئی ڈائریکٹری کے لیے آبجیکٹ۔ دی طریقہ دیا گیا پیٹرن سے مماثل تمام فائلوں کو بار بار تلاش کرنے کے لیے استعمال کیا جاتا ہے۔ دی file.is_file() طریقہ چیک کرتا ہے کہ آیا ہر پایا جانے والا راستہ باقاعدہ فائل ہے۔ اگر یہ ہے تو، ہم تبدیل کرتے ہیں استعمال کرتے ہوئے ایک تار پر اعتراض اور اس میں شامل کریں۔ . یہ نقطہ نظر زیادہ جدید ہے اور اکثر اس کی پڑھنے کی اہلیت اور استعمال میں آسانی کے لیے ترجیح دی جاتی ہے۔ یہ مختلف قسم کے راستوں (جیسے سملنک) کو بھی زیادہ خوبصورتی سے ہینڈل کرتا ہے۔

ڈائرکٹری فائلوں کی فہرست بنانے اور فہرست میں شامل کرنے کے لیے ازگر کا استعمال

Python - os اور os.path لائبریریوں کا استعمال

import os

def list_files_in_directory(directory_path):
    files_list = []
    for root, dirs, files in os.walk(directory_path):
        for file in files:
            files_list.append(os.path.join(root, file))
    return files_list

# Example usage
directory_path = '/path/to/directory'
files = list_files_in_directory(directory_path)
print(files)

ڈائرکٹری میں تمام فائلوں کی فہرست بنانا اور ازگر میں فہرست میں شامل کرنا

ازگر - پاتھلیب لائبریری کا استعمال

from pathlib import Path

def list_files(directory_path):
    path = Path(directory_path)
    files_list = [str(file) for file in path.rglob('*') if file.is_file()]
    return files_list

# Example usage
directory_path = '/path/to/directory'
files = list_files(directory_path)
print(files)

Python میں ڈائریکٹری فائل کی فہرست سازی کے لیے جدید تکنیک

پہلے زیر بحث طریقوں کے علاوہ، ڈائریکٹری میں فائلوں کی فہرست کے لیے ایک اور طاقتور طریقہ استعمال کرنا شامل ہے۔ فنکشن یہ طریقہ ایک تکرار کرنے والا واپس کرتا ہے۔ اشیاء، جس میں فائلوں اور ڈائریکٹریز کے بارے میں معلومات ہوتی ہیں۔ سے زیادہ موثر ہے۔ یا os.walk() کیونکہ یہ ڈائرکٹری اندراجات اور ان کی صفات کو ایک ہی سسٹم کال میں بازیافت کرتا ہے۔ یہ خاص طور پر کارآمد ثابت ہو سکتا ہے جب بڑی ڈائرکٹریوں سے نمٹنا ہو یا جب آپ کو فائلوں کو ان کی خصوصیات کی بنیاد پر فلٹر کرنے کی ضرورت ہو، جیسے کہ سائز یا ترمیم کا وقت۔

ایک اور جدید تکنیک میں استعمال کرنا شامل ہے۔ ماڈیول، جو pathname پیٹرن کی توسیع کے لیے ایک فنکشن فراہم کرتا ہے۔ دی فنکشن ایک مخصوص پیٹرن سے ملنے والے راستوں کی فہرست لوٹاتا ہے۔ تکراری فائل کی فہرست کے لیے، کے ساتھ استعمال کیا جا سکتا ہے۔ recursive=True پیرامیٹر یہ طریقہ سادہ پیٹرن کے ملاپ کے لیے انتہائی کارآمد ہے اور اکثر ڈیٹا پروسیسنگ پائپ لائنوں میں استعمال ہوتا ہے جہاں مخصوص فائل کی قسموں پر کارروائی کی ضرورت ہوتی ہے۔ مزید برآں، ان طریقوں کو متوازی پروسیسنگ لائبریریوں کے ساتھ ضم کرنا جیسے ملٹی کور پروسیسرز کا فائدہ اٹھا کر فائل سسٹم کی کارروائیوں کو نمایاں طور پر تیز کر سکتا ہے۔

  1. میں ڈائرکٹری میں صرف مخصوص فائل کی اقسام کی فہرست کیسے بنا سکتا ہوں؟
  2. کا استعمال کرتے ہیں ایک مخصوص ایکسٹینشن کے ساتھ فائلوں کو ملانے اور فہرست بنانے کے لیے فنکشن۔
  3. میں ان کی فہرست کے دوران ہر فائل کا سائز کیسے حاصل کروں؟
  4. استعمال کریں۔ ہر فائل کا سائز بائٹس میں حاصل کرنے کے لیے۔
  5. کیا میں فائلوں کو ان کی ترمیم کی تاریخ کے مطابق ترتیب دے سکتا ہوں؟
  6. جی ہاں، استعمال کریں ترمیم کے وقت کو بازیافت کرنے اور اس کے مطابق ترتیب دیں۔
  7. میں کچھ فائلوں یا ڈائریکٹریوں کو کیسے خارج کر سکتا ہوں؟
  8. فائلوں یا ڈائریکٹریوں کو ان کے ناموں یا راستوں کی بنیاد پر فلٹر کرنے کے لیے اپنے لوپ کے اندر حالات کا استعمال کریں۔
  9. کیا زپ آرکائیو میں فائلوں کو نکالے بغیر ان کی فہرست بنانا ممکن ہے؟
  10. جی ہاں، استعمال کریں کلاس اور اس کے زپ آرکائیو میں فائلوں کی فہرست بنانے کا طریقہ۔
  11. کیا میں فائلوں کو فلٹر کرنے کے لیے ریگولر ایکسپریشنز استعمال کر سکتا ہوں؟
  12. جی ہاں، یکجا کے ساتھ ماڈیول پیٹرن کی بنیاد پر فائلوں کو فلٹر کرنے کے لیے۔
  13. فائلوں کی فہرست کے دوران میں علامتی لنکس کو کیسے ہینڈل کروں؟
  14. استعمال کریں۔ یہ چیک کرنے کے لیے کہ آیا کوئی راستہ علامتی لنک ہے اور اس کے مطابق ہینڈل کریں۔
  15. اگر مجھے ریموٹ سرور پر فائلوں کی فہرست بنانے کی ضرورت ہو تو کیا ہوگا؟
  16. جیسے لائبریریوں کا استعمال کریں۔ ریموٹ سرور پر فائلوں کی فہرست بنانے کے لیے SSH اور SFTP کے لیے۔
  17. میں ڈائریکٹری میں فائلوں کی تعداد کیسے گن سکتا ہوں؟
  18. استعمال کریں۔ ڈائریکٹری میں فائلوں کی تعداد گننے کے لیے۔

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