centos

如何在CentOS中实现readdir递归读取

小樊
47
2025-07-28 23:28:07
栏目: 智能运维

在 CentOS 中,你可以使用 Python 或者 Shell 脚本来实现 readdir 递归读取

方法一:使用 Python

创建一个名为 recursive_readdir.py 的 Python 脚本,并添加以下代码:

import os

def recursive_readdir(path):
    for root, dirs, files in os.walk(path):
        for name in files:
            print(os.path.join(root, name))
        for name in dirs:
            print(os.path.join(root, name))

if __name__ == "__main__":
    path = input("请输入要递归读取的目录路径:")
    recursive_readdir(path)

然后在终端中运行此脚本:

python recursive_readdir.py

方法二:使用 Shell 脚本

创建一个名为 recursive_readdir.sh 的 Shell 脚本,并添加以下代码:

#!/bin/bash

recursive_readdir() {
    for root, dirs, files in $(find "$1" -type d); do
        for dir in $dirs; do
            echo $dir
        done
    done
    for root, dirs, files in $(find "$1" -type f); do
        for file in $files; do
            echo $file
        done
    done
}

if [ $# -eq 0 ]; then
    read -p "请输入要递归读取的目录路径:" path
else
    path=$1
fi

recursive_readdir "$path"

然后在终端中运行此脚本:

chmod +x recursive_readdir.sh
./recursive_readdir.sh

这两个方法都可以实现递归读取目录中的所有文件和子目录。你可以根据自己的需求选择合适的方法。

0
看了该问题的人还看了