2024年7月14日 星期日

顯示目錄樹狀結構的 tree 指令 (Linux & Windows 均可用)

最近在學習 Scrapy 時要用 tree 指令顯示爬蟲專案的樹狀結構, 但參數用法忘記了, 搜尋找到下面這篇文章值得記下來備查 :


tree 指令不僅在 Linux 可用, 現在 Windows 的命令提示字元視窗也可用, 語法如下 :

tree <目錄名稱> 參數     

此指令會顯示目前工作目錄下指定子目錄的樹狀結構, 參數若有多個以空格隔開, 如果沒有指定目錄名稱就顯示全部子目錄結構, 如果沒有參數只顯示目錄而不顯示檔案, 例如 :

D:\python\test\scrapy_projects>tree    
列出磁碟區 新增磁碟區 的資料夾 PATH
磁碟區序號為 1258-16B8
D:.
├─project1
│  └─project1
│      ├─spiders
│      │  └─__pycache__
│      └─__pycache__
└─project2
    └─project2
        ├─spiders
        │  └─__pycache__
        └─__pycache__

指定目錄 project2 :

D:\python\test\scrapy_projects>tree project2   
列出磁碟區 新增磁碟區 的資料夾 PATH
磁碟區序號為 1258-16B8
D:\PYTHON\TEST\SCRAPY_PROJECTS\PROJECT2
└─project2
    ├─spiders
    │  └─__pycache__
    └─__pycache__

以上都是不帶參數, 只顯示目錄而無檔案, 帶 /f 參數則會顯示檔案 : 

D:\python\test\scrapy_projects>tree project2 /f    
列出磁碟區 新增磁碟區 的資料夾 PATH
磁碟區序號為 1258-16B8
D:\PYTHON\TEST\SCRAPY_PROJECTS\PROJECT2
│  scrapy.cfg
└─project2
    │  items.py
    │  middlewares.py
    │  pipelines.py
    │  settings.py
    │  __init__.py
    │
    ├─spiders
    │  │  bot_rate_spider.py
    │  │  __init__.py
    │  │
    │  └─__pycache__
    │          bot_rate_spider.cpython-310.pyc
    │          __init__.cpython-310.pyc
    │
    └─__pycache__
            settings.cpython-310.pyc
            __init__.cpython-310.pyc

帶 /a 參數會用 | 與 \ 來繪製樹狀圖 : 

D:\python\test\scrapy_projects>tree project2 /f /a   
列出磁碟區 新增磁碟區 的資料夾 PATH
磁碟區序號為 1258-16B8
D:\PYTHON\TEST\SCRAPY_PROJECTS\PROJECT2
|   scrapy.cfg
|
\---project2
    |   items.py
    |   middlewares.py
    |   pipelines.py
    |   settings.py
    |   __init__.py
    |
    +---spiders
    |   |   bot_rate_spider.py
    |   |   __init__.py
    |   |
    |   \---__pycache__
    |           bot_rate_spider.cpython-310.pyc
    |           __init__.cpython-310.pyc
    |
    \---__pycache__
            settings.cpython-310.pyc
            __init__.cpython-310.pyc

可以用 > 將結果輸出到文字檔 :

D:\python\test\scrapy_projects>tree project2 /f > output.txt   

下面是在樹莓派的 Linux 上執行的結果, 不需要 /f 參數預設顯示完整樹狀圖 : 

pi@raspberrypi:~/scrapy_projects $ tree project1   
project1
├── data.json
├── __init__.py
├── items.py
├── middlewares.py
├── pipelines.py
├── __pycache__
│   ├── __init__.cpython-310.pyc
│   ├── __init__.cpython-37.pyc
│   ├── settings.cpython-310.pyc
│   └── settings.cpython-37.pyc
├── settings.py
└── spiders
    ├── bot_rate_spider.py
    ├── __init__.py
    └── __pycache__
        ├── bot_rate_spider.cpython-310.pyc
        ├── bot_rate_spider.cpython-37.pyc
        ├── __init__.cpython-310.pyc
        └── __init__.cpython-37.pyc

3 directories, 16 files

沒有留言 :