Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में Directory Tree Structure कैसे List करें?


Directory Tree Structure Print करना

आप os.walk() Method का उपयोग करके उन सभी Children की List प्राप्त कर सकते हैं जिनके Path का Tree आप Display करना चाहते हैं। फिर आप Paths को Join करके प्रत्येक File का Absolute Path प्राप्त कर सकते हैं।

उदाहरण: Basic Tree Printer

import os

def tree_printer(root):
    for root, dirs, files in os.walk(root):
        for d in dirs:
            print(os.path.join(root, d))
        for f in files:
            print(os.path.join(root, f))

tree_printer('.')

यह आपके Tree में सभी Directories की List पहले Print करेगा और फिर Directory में सभी Files के Paths को Recursively Print करेगा।

उदाहरण Output:

C:\hello\my_folder
C:\hello\another_folder
C:\hello\my_folder\abc.txt
C:\hello\my_folder\xyz.txt
C:\hello\another_folder\new.txt
...

Better Visual Tree (Indentation के साथ)

import os

def print_tree(startpath, prefix=''):
    for root, dirs, files in os.walk(startpath):
        level = root.replace(startpath, '').count(os.sep)
        indent = ' ' * 2 * level
        print(f'{indent}{os.path.basename(root)}/')
        subindent = ' ' * 2 * (level + 1)
        for file in files:
            print(f'{subindent}{file}')

print_tree('.')

Output Example:

project/
  src/
    main.py
    utils.py
  tests/
    test_main.py
  README.md
  requirements.txt

Pathlib का उपयोग (Modern)

from pathlib import Path

def print_tree_pathlib(path, prefix=''):
    path = Path(path)
    print(f"{prefix}{path.name}/")
    for item in sorted(path.iterdir(), key=lambda x: (x.is_file(), x.name)):
        if item.is_dir():
            print_tree_pathlib(item, prefix + '  ')
        else:
            print(f"{prefix}  {item.name}")

print_tree_pathlib('.')

  1. Python में दिशाओं की सूची का उपयोग करके बाइनरी ट्री को पार करने का प्रोग्राम Python में दिशाओं की सूची का उपयोग करके बाइनरी ट्री को पार करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री और moves नामक स्ट्रिंग्स की एक सूची है जिसमें R (दाएं), L (बाएं) और U (ऊपर) शामिल हैं। रूट से शुरू करके, हमें moves में प्रत्येक चाल को निष्पादित करके ट्री को पार करना होगा जहां: R दाएं चाइल्ड को पार करने का संकेत देता है। L बाएं चाइल्ड को पार करने का संकेत देता ह

  1. - पायथन में स्ट्रिंग की सूची को सॉर्ट करना

    इस ट्यूटोरियल में, हम स्ट्रिंग की सूची को सॉर्ट करना देखेंगे। हम दी गई स्ट्रिंग की सूची को sort मेथड और sorted फ़ंक्शन से सॉर्ट करेंगे। और फिर हम देखेंगे कि स्ट्रिंग की सूची को लंबाई, मान आदि जैसे विभिन्न मानदंडों के आधार पर कैसे सॉर्ट किया जाए। आइए देखते हैं कि list.sort() मेथड का उपयोग करके स्ट्र

  1. पायथन में बाइनरी ट्री उल्टा करें पायथन में बाइनरी ट्री उल्टा करें

    मान लीजिए हमारे पास एक बाइनरी ट्री है। हमारा कार्य एक उल्टा बाइनरी ट्री बनाना है। यदि ट्री नीचे जैसा है: उल्टा ट्री इस तरह होगा: इसे हल करने के लिए हम एक पुनरावर्ती दृष्टिकोण का उपयोग करेंगे: यदि रूट null है, तो वापस करें बाएं और दाएं पॉइंटर्स को स्वैप करें बाएं सबट्री और दाएं सबट्री के लिए पुनर