美文网首页程序员
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