美文网首页程序员
python生成5层文件目录

python生成5层文件目录

作者: 高正杰 | 来源:发表于2017-12-24 16:05 被阅读20次

问题描述:要求创建5层文件目录,每一层5个文件夹,共5层,文件夹的名字要求使用随机字符串,不能使用随机数命名。

实验环境 Python3.x, Win10

思考:树的遍历、排列组合、笛卡尔积

最终选择了笛卡尔积的方式完成的该任务,代码如下:

import hashlib
import random
import itertools
import os


def create_md5():    #通过MD5的方式创建
    m=hashlib.md5()
    m.update(bytes(str(random.random()),encoding='utf-8'))
    return m.hexdigest()

if __name__ == '__main__':
    dir_list = []  # 保存文件夹的名字
    for i in range(5):
        dir_list.append(create_md5())

    path_list = list(itertools.product(dir_list, repeat=5))
    print("总个数为" + str(len(path_list)))
    for i in path_list:
        print("/".join(i))
        os.makedirs("/".join(i))

说明:

  1. 关于随机字符串的生成,可以查看上一篇转载的文章《【转】python生成随机字符串
  2. 关于python内置的迭代器(姑且这么称呼吧),可以参考官方的 dochttp://outofmemory.cn/code-snippet/2390/python-itertools-module-learn-note
  3. 由于本代码中每一个文件的名字都比较长,所以如果在创建过程中出现找不到该路径的错误,那么可以参考《Win10怎样解除260个字符路径长度限制


该文章于2017年12月13日于CSDN上首次发表,2017年12月24日搬家至此!

相关文章

网友评论

    本文标题:python生成5层文件目录

    本文链接:https://www.haomeiwen.com/subject/esjhgxtx.html