JAVA对于给定文件夹下所有目录和文件获取实现:
Python对于给定文件夹下所有目录和文件获取实现:
思路:
1、获取当前给点地址下的目录和文件
2、如果为文件则打印出来、如果为文件夹则继续像下获取
3、递归条件是:文件夹
以下为Java代码的实现
package mao;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class digui {
public static void main(String[] args) {
File s_file = new File("/Users/chaozheng/Desktop/zc"); // 其实文件目录地址
List<File> file_list = new ArrayList<>();
get_all_file(s_file,file_list);
System.out.println(file_list);
}
public static void get_all_file(File src_file,List file_list){
File[] src = src_file.listFiles();
if (src!=null){
for (File file:src){
if (file.isDirectory()){
file_list.add(file); //需要打印出目录时添加
get_all_file(file,file_list);
// System.out.println(file); //需要输出目录时添加
}else{
file_list.add(file);
// System.out.println(file); //需要输出文件时添加
}
}
}
}
}
以下为Python的代码实现
import os
def get_all_file(s_file, file_list):
src = os.listdir(s_file)
for i in src:
if os.path.isdir(s_file + "/" + i):
get_all_file(s_file + "/" + i, file_list)
file_list.append(s_file + "/" + i)
else:
file_list.append(s_file + "/" + i)
if __name__ == '__main__':
s_file = "/Users/chaozheng/Desktop/zc"
file_list = []
get_all_file(s_file, file_list)
print(file_list)