美文网首页
Python_文件整理分类(按时间分类)

Python_文件整理分类(按时间分类)

作者: z小轩 | 来源:发表于2018-11-26 17:36 被阅读0次

功能说明:获取对应目录下所有文件,按创建时间,以年月(yyyymm)为区分,创建文件夹,

然后复制或移动对应年月创建的文件至对应文件夹,并以年月+序号(yyyymm_i)的方式重新命名文件

未整理的目录文件

整理完成后的目录


整理完成后的目录

UI界面使用Python 自带的tkinter模块(python3.x 模块名为tkingter,之前版本为Tkinter)

界面

完成后的工具界面

界面的编辑是使用tkingter的可视化UI编辑器完成的。

https://www.cnblogs.com/darkspr/p/6077573.html
可视化编辑器,使用Windows VB进行界面ui编辑,然后使用一个模块插件,将界面编辑导出为一份tkinter 代码

核心代码:

#
# 处理文件及目录
# 
# @dicPath 目录路径
# # copyOrMove 复制操作还是移动操作 False为复制操作,True为移动操作
def handle_file(dicPath, copyOrMove=False):
    fileList = os.listdir(dicPath)
    dateList = []
    fileDic = {}
    print(str(fileList))
    for x in fileList:
        filepath = dicPath + "/" + x
        # 判断是文件
        if Path.isfile(filepath): 
            dataStr = get_format_time(Path.getctime(filepath))
            dicpath = Path.join(dicPath, dataStr) # dicPath + "/" + dataStr 

            # 判断是否已记录
            if not is_element_exist(dateList, dataStr): 
                dateList.append(dataStr)
                # 根据日期创建目录
                dicpath = dicPath + "/" + dataStr
                if not Path.exists(dicpath):
                    os.mkdir(dicpath)

            fileDic[filepath] = dicpath
            # 操作文件
            if copyOrMove:
                shutil.move(filepath, Path.join(dicpath, x))
            else:
                shutil.copyfile(filepath, Path.join(dicpath, x))

#
#   通过时间戳获取时间日期,取年月日
#
def get_format_time(timeStamp):
    timeStruct = time.localtime(int(timeStamp))
    return time.strftime("%Y-%m", timeStruct)

生成exe

使用

pip install pyinstaller

安装puinstaller,然后cd到需要打包的py文件目录,使用命令

pyinstaller -F xxx.py

最终会在同目录下生成builddist两个目录,其中,build 目录是 pyinstaller 存储临时文件的目录,可以安全删除。最终的打包程序在 dist 内部的 xxx目录中。

坑点

使用pyinstaller时,命令行报错,提示[failed to create process.]
原因是使用 PyInstaller 库需要注意以下问题:

  1. 文件路径中不能出现空格和英文句号(.);
  2. 源文件必须是 UTF-8 编码,暂不支持其他编码类型
    而我本地的python是安装在C:\Program Files (x86)\Python35-32这个路径中包含了空格,所以导致问题。

解决办法:

python "C:\Program Files (x86)\Python35-32\Scripts\pyinstaller-script.py" -F xxx.py

然后就可以了。

PyInstaller 有一些常用参数,如下所示:
-h, --help 查看帮助
-v, --version 查看 PyInstaller 版本
--clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成 dist 目录
-F, --onefile 在 dist 文件夹中只生成独立的打包文件第
-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >指定打包程序使用的图标(icon)文件

相关文章

  • Python_文件整理分类(按时间分类)

    功能说明:获取对应目录下所有文件,按创建时间,以年月(yyyymm)为区分,创建文件夹, 然后复制或移动对应年月创...

  • 菜鸟入门

    师:丹 1.整理电脑文件分类:①按日期 2.文件命名①按店分类②2000×3000 分辨率 3.原图挑选图片命名(...

  • 《怦然心动的人生整理魔法》第八节收获—物品分类整理要点

    1.物品分类整理方法: 首先,我们应该从宏观层面上按“物品的主人分类”和“按物品分类”。 按物品主人分类,除了公用...

  • 文件整理

    桌面文件太多,如何一键整理思路:1.按文件类型分类整理整理成文件夹2.按时间筛选需要整理的文件3.万一出错,还原 ...

  • Windows 文件管理 | 利用批处理实现一键将同名文件移动到

    在《Windows 文件管理 | 利用批处理实现文件按格式分类》一文中介绍了按格式一键整理文件。但在整理信息时, ...

  • 超级整理术实践之整理办公电脑文件

    受超级整理术的启发,今天花了一上午的时间,整理了办公电脑文件。 按照时间分类,按照文件三层级分类。不好意...

  • 关于文件

    文件的创建 流 Stream 流的分类 按方向分类 :输入流、输出流 -- 参照物是程序按传输单位分类 :字节流...

  • 申论学习2018-09-22

    四、分类整理 当题目中出现“分类合理、层次分明、分别、种种、归纳”时,注意分类。 常见分类角度: ①按资料主题分。...

  • 家庭文件如何整理

    家庭文件整理可以概括为三句话:分类,整理,保管。 分类 每个家庭都不同,但大概分为这几类:财产类文件、健康类文件、...

  • DAY4分类法

    分类方法一直是我的短板,不管是电脑文件还是书籍整理,又或者是时间分类。只要涉及到分类的方面,我都容易犯纠结...

网友评论

      本文标题:Python_文件整理分类(按时间分类)

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