精华内容
下载资源
问答
  • python 生成文件夹

    2020-07-01 13:14:22
    利用tensorflow进行读写时,经常因为没有创建相应的文件夹而导致保存weights/models/log等失败,加载时也容易产生错误,为了避免这种错误,在自己的框架中需要实现如下功能: 在按路径读写时,如果找不到相应的路径...
    Motivation

    利用tensorflow进行读写时,经常因为没有创建相应的文件夹而导致保存weights/models/log等失败,加载时也容易产生错误,为了避免这种错误,在自己的框架中需要实现如下功能:
    在按路径读写时,如果找不到相应的路径,需要程序自动创建文件夹,并进行数据的保存。

    实现
    def make_dir(path: str):
        pos = path.rfind(os.sep)
        if pos < 0:
            raise Exception('Can not find the directory from the path', path)
        path = path[:pos]
        os.makedirs(path, exist_ok=True)
    
    代码理解
    os.sep
    

    从系统变量中取系统分隔符,linux/mac 返回’ / ’ ,windows 返回 ’ \ '。

    path.rfind( char )
    

    path是路径的字符串(str),返回char最后出现的位置(从左往右),如果没有匹配,返回-1

    path = path[: pos]
    

    提取出需要创建文件夹的路径

    os.makedirs(path, exist_ok = True)
    

    创建文件夹

    展开全文
  • 新建一个 python 文件,复制以下代码,运行时指定一下 ignore_list 和 direction_path 即可快速生成文件夹目录结构图。 import re from pathlib import Path from pathlib import WindowsPath from typing import ...

    新建一个 python 文件,复制以下代码,运行时指定一下 ignore_list 和 direction_path 即可快速生成文件夹目录结构图。

    import re
    from pathlib import Path
    from pathlib import WindowsPath
    from typing import Optional, List
    
    
    class DirectionTree:
        def __init__(self,
                     direction_name: str = 'WorkingDirection',
                     direction_path: str = '.',
                     ignore_list: Optional[List[str]] = None):
            self.owner: WindowsPath = Path(direction_path)
            self.tree: str = direction_name + '/\n'
            self.ignore_list = ignore_list
            if ignore_list is None:
                self.ignore_list = []
            self.direction_ergodic(path_object=self.owner, n=0)
    
        def tree_add(self, path_object: WindowsPath, n=0, last=False):
            if n > 0:
                if last:
                    self.tree += '│' + ('    │' * (n - 1)) + '    └────' + path_object.name
                else:
                    self.tree += '│' + ('    │' * (n - 1)) + '    ├────' + path_object.name
            else:
                if last:
                    self.tree += '└' + ('──' * 2) + path_object.name
                else:
                    self.tree += '├' + ('──' * 2) + path_object.name
            if path_object.is_file():
                self.tree += '\n'
                return False
            elif path_object.is_dir():
                self.tree += '/\n'
                return True
    
        def filter_file(self, file):
            for item in self.ignore_list:
                if re.fullmatch(item, file.name):
                    return False
            return True
    
        def direction_ergodic(self, path_object: WindowsPath, n=0):
            dir_file: list = list(path_object.iterdir())
            dir_file.sort(key=lambda x: x.name.lower())
            dir_file = [f for f in filter(self.filter_file, dir_file)]
            for i, item in enumerate(dir_file):
                if i + 1 == len(dir_file):
                    if self.tree_add(item, n, last=True):
                        self.direction_ergodic(item, n + 1)
                else:
                    if self.tree_add(item, n, last=False):
                        self.direction_ergodic(item, n + 1)
    
    
    if __name__ == '__main__':
        i_l = [
            '\.git', '__pycache__', 'test.+', 'venv', '.+\.whl', '\.idea', '.+\.jpg', '.+\.png',
            'image', 'css', 'admin', 'tool.py', 'db.sqlite3'
        ]
        tree = DirectionTree(ignore_list=i_l, direction_path='/your_project_path/')
        print(tree.tree)
    

    生成结构图如下:

    ├────.gitattributes
    ├────.gitignore
    ├────app/
    │    ├────__init__.py
    │    ├────admin.py
    │    ├────apps.py
    │    ├────migrations/
    │    │    ├────0001_initial.py
    │    │    └────__init__.py
    │    ├────models.py
    │    ├────ocr.py
    │    ├────serializers.py
    │    ├────urls_api.py
    │    └────views.py
    ├────dockerfile_base
    ├────manage.py
    ├────media/
    ├────nginx.conf
    ├────onlineocr/
    │    ├────__init__.py
    │    ├────asgi.py
    │    ├────settings.py
    │    ├────urls.py
    │    └────wsgi.py
    ├────README.md
    ├────requirements.txt
    ├────static/
    ├────templates/
    └────uwsgi_params
    
    展开全文
  • 参考原作者 ...1. 代码 from pathlib import Path #python自带的包 tree_str = '' def generate_tree(pathname, n=0): global tree_str if pathname.is_file(): tree_str += ' |' * n + '-' * 4 + pathna

    参考原作者 https://blog.csdn.net/xijuezhu8128/article/details/106115939

    1. 代码

    from pathlib import Path #python自带的包
    
    tree_str = ''
    def generate_tree(pathname, n=0):
        global tree_str
        if pathname.is_file():
            tree_str += '    |' * n + '-' * 4 + pathname.name + '\n'
        elif pathname.is_dir():
            tree_str += '    |' * n + '-' * 4 + \
                str(pathname.relative_to(pathname.parent)) + '\\' + '\n'
            for cp in pathname.iterdir():
                generate_tree(cp, n + 1)
    
    if __name__ == '__main__':
        path = 'D:\\research' # 需要生成目录树的文件路径
        generate_tree(Path(path), 0)
        print(tree_str)
        f = open('tree.txt', 'a') # 输出的txt文件路径
        f.write(tree_str)
        f.close()
    

    2. 输出的结果

        |    |    |    |----epoch_30_0.747763.pth
        |    |    |    |----epoch_3_0.845542.pth
        |    |    |    |----epoch_4_0.771097.pth
        |    |    |    |----epoch_5_0.770419.pth
        |    |    |    |----epoch_6_0.760817.pth
        |    |    |    |----epoch_7_0.750074.pth
        |    |    |    |----epoch_8_0.751233.pth
        |    |    |    |----epoch_9_0.757087.pth
        |    |    |----evaluate\
        |    |    |    |----evl.xls
        |    |    |----log\
        |    |    |----runs\
        |    |    |    |----events.out.tfevents.1604333960.DESKTOP.21864.0
        |    |----file304\
        |    |    |----checkpoints\
        |    |    |    |----epoch_10_0.753063.pth
        |    |    |    |----epoch_11_0.751242.pth
        |    |    |    |----epoch_12_0.750930.pth
        |    |    |    |----epoch_13_0.749811.pth
        |    |    |    |----epoch_14_0.750356.pth
        |    |    |    |----epoch_15_0.749778.pth
    
    展开全文
  • 首先这是一个悲惨的故事,我的某一块硬盘坏了…然后我忘记了硬盘内有什么东西,就写了一个小脚本来生成目录清单,部分代码来自互联网,但是互联网中的版本多多少少有一些问题,在这个基础上重写了一下. git地址 Export ...

    首先这是一个悲惨的故事,我的某一块硬盘坏了…然后我忘记了硬盘内有什么东西,就写了一个小脚本来生成目录清单,部分代码来自互联网,但是互联网中的版本多多少少有一些问题,在这个基础上重写了一下.

    git地址

    Export directory or file tree list

    export pretty and readable directory or file tree list.

    from directoryTree import DirectoryTree
    
    if __name__ == '__main__':
        ignore_list = ('.git', '$RECYCLE.BIN', '.svn', 'System Volume Information', '.sync', '.idea')
        tree = DirectoryTree(ignore_list=ignore_list, directory_path=r'E:\CloudMusic\Aimer')
        print('==================FileTree==================')
        print(tree.tree)
        print('==================DirTree==================')
        print(tree.dir_tree)
    
    ==================FileTree==================
    E:/CloudMusic/Aimer/
    ├────E:/CloudMusic/Aimer/After Dark/
    │    └────E:/CloudMusic/Aimer/After Dark/Aimer - 六等星の夜 (from Live at anywhere).ncm
    ├────E:/CloudMusic/Aimer/broKen NIGHT / holLow wORlD/
    │    └────E:/CloudMusic/Aimer/broKen NIGHT / holLow wORlD/Aimer - my sweetest one.flac
    ├────E:/CloudMusic/Aimer/DAWN/
    │    └────E:/CloudMusic/Aimer/DAWN/Aimer - LAST STARDUST.flac
    ├────E:/CloudMusic/Aimer/Daydream/
    │    └────E:/CloudMusic/Aimer/Daydream/Aimer - カタオモイ.ncm
    ├────E:/CloudMusic/Aimer/Ref:rain (期間生産限定盤)/
    │    └────E:/CloudMusic/Aimer/Ref:rain (期間生産限定盤)/Aimer - Ref:rain.ncm
    └────E:/CloudMusic/Aimer/茜さす/everlasting snow/
    │    └────E:/CloudMusic/Aimer/茜さす/everlasting snow/Aimer - 茜さす.ncm
    
    ==================DirTree==================
    E:/CloudMusic/Aimer/
    ├────E:/CloudMusic/Aimer/After Dark/
    ├────E:/CloudMusic/Aimer/broKen NIGHT / holLow wORlD/
    ├────E:/CloudMusic/Aimer/DAWN/
    ├────E:/CloudMusic/Aimer/Daydream/
    ├────E:/CloudMusic/Aimer/Ref:rain (期間生産限定盤)/
    └────E:/CloudMusic/Aimer/茜さす/everlasting snow/
    
    展开全文
  • Python批量生成文件夹

    2020-07-10 21:09:43
    在文本文件中写入要生成的文件夹清单,然后选择文本文件,根据文本文件的内容生成文件夹。 import tkinter import tkinter.filedialog import tkinter.messagebox import os root = tkinter.Tk() root.title(...
  • 1. Python判断文件夹是否存在,如果不存在就生成 import os if os.path.exitst("../Img/text") == False: os.makedirs("../Img/text") ‘’‘ 判断文件是否存在,如果不存在的话 生成文件 /:同级目录下 ../上级...
  • 二、在file_names.txt里面,每一行是要生成文件夹的名字 三、main.py的代码如下: import os f = open("./file_names.txt", encoding="UTF-8") file = f.readline().strip() while file: print(file) os....
  • 代码整理于互联网,运行时指定一下 ignore_list 和 direction_path 即可快速生成文件夹目录结构图 import re from pathlib import Path from pathlib import WindowsPath from typing import Optional, List ...
  • python遍历文件夹下所有文件,创建txt文件读写txt文件
  • python 生成指定文件夹

    2018-03-14 12:20:47
    import os def creat_dir(path):#判断路径是否存在,返回True,或者False is_exists = os.path.exists(path)if is_exists:print('The path is exist')else: os.makedirs(path) print('Create t...
  • 由于工作需要每月月底需要根据实际情况建立文件夹,用python写了个脚本生成文件夹及子文件夹。初学python,没搞过开发,写得不好勿喷!需求:从mkdir.txt里面读出行作为文件夹名字,倒数三个作为子文件夹名字。#...
  • 一些情况下我们想要生成某个工程文件夹的文件目录,写在文档里面逐一说明每个文件的功能,这是如果能自动生成文件树就是一件很方便的事。 2. 代码 在如下代码中,只需要给定path目录就可以。 from pathlib import ...
  • # -*- coding: utf-8 -*- import sys from pathlib import Path class DirectionTree(object... """生成目录树 @ pathname: 目标目录 @ filename: 要保存成文件的名称 """ def __init__(self, path...
  • # coding=UTF-8 import os import sys path = "/home/cdli/Original_10.18" filenames = os . listdir ( path ) #读取path内所有文件名...最终生成的txt就是: XXX 0 XXX 0 XXX 1 XXX 1 XXX 2 XXX 2
  • folderify - 利用Python生成漂亮,斜面的macOS文件夹图标
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 当你使用pycharm作为你的python编辑器的时候,你创建一个代码文件夹就会自动生成这个.idea文件夹。这个文件夹的主要作用在于存放项目的控制信息,包括版本信息,历史记录等等,所以删除它是不会影响代码的正常使用的...
  • 下载了一些文件之后,我们想很快的把握整体框架,就可以生成文件树,更加直观方便。 path:为目标文件夹 f = open(‘name’, ‘a’) 保存在当前目录下,名字为name可以自己更改 代码 from pathlib import Path ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,812
精华内容 1,524
关键字:

python生成文件夹

python 订阅