2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录

python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录

时间:2019-08-11 04:04:22

相关推荐

python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录

1. 查看目录文件:

1.1 Node实现:

let fs = require('fs');

let path = require('path');

let filePath = path.resolve('D:');

fileDisplay(filePath);

function fileDisplay(filePath){

//根据文件路径读取文件,返回文件列表

fs.readdir(filePath,function(err,files){

if(err){

console.warn(err)

}else{

//遍历读取到的文件列表

files.forEach(function(filename){

//获取当前文件的绝对路径

let filedir = path.join(filePath,filename);

//根据文件路径获取文件信息,返回一个fs.Stats对象

fs.stat(filedir,function(eror,stats){

if(eror){

console.warn('获取文件stats失败');

}else{

var isFile = stats.isFile();//是文件

var isDir = stats.isDirectory();//是文件夹

if(isFile){

console.log(filedir);

}

if(isDir){

fileDisplay(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件

}

}

})

});

}

});

}

1.2 Python实现:

import os

def file_display(filepath):

for each in os.listdir(filepath):

absolute_path = os.path.join(filepath, each)

is_file = os.path.isfile(absolute_path)

is_dir = os.path.isdir(absolute_path)

if is_file:

print(each)

elif is_dir:

# 如果是目录则开始递归:

file_display(absolute_path)

file_display('/home/pushy/www')

2. 创建目录:

2.1 Node实现:

function createDirSync(dirname) {

if (fs.existsSync(dirname)) {

return true;

} else {

// 开始递归调用函数,并接受其返回值:

recResult = createDirSync(path.dirname(dirname))

if (recResult) {

fs.mkdirSync(dirname);

return true

}

}

}

2.2 Python实现:

import os

def createFile(dirname):

exits = os.path.exists(dirname)

if exits:

return True

else:

# 开始递归调用函数,并接受其返回值:

rec_result = createFile(os.path.dirname(dirname))

if rec_result:

# 如果不存在该目录,则创建dirname的目录,并返回已经创建(存在)的值True:

os.mkdir(dirname)

return True

createFile('./aa/bb/cc')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。