Fork me on GitHub

python 批量提取.txt文件的前缀名称

import tkinter as tk   # 导入tkinter库设置别名tk
import os
import time
import glob
root = tk.Tk()   # 生成主窗口
root.title('文件提取器')  # 设置窗体名字
root.geometry('400x250') # 设置窗体大小
# text设置按钮的文本内容,并设置组件的横,纵坐标
tk.Label(root, text='文件路径   \t').place(x=50, y=20)
tk.Label(root, text='开始时间   \t').place(x=50, y=50)
tk.Label(root, text='结束时间   \t').place(x=50, y=80)
tk.Label(root, text='数据总量   \t').place(x=50, y=110)
# Entry用于收集键盘输入并设置宽度,和组件的横,纵坐标
w1 = tk.Entry(root, width=20)
w1.place(x=180, y=20)

w2 = tk.Entry(root, width=20)
w2.place(x=180, y=50)

w3 = tk.Entry(root, width=20)
w3.place(x=180, y=80)

obj = tk.StringVar()

# 定义一个计算进制的函数
def calculation():
    dirs = w1.get()
    start = w2.get()
    end = w3.get()
    filenames = glob.glob(dirs + '/*')  # 你的遍历路径
    fw = open('results.txt', 'w')
    # start = '2019-12-18 21:50'
    # end = '2019-12-19 01:02'
    num = 0
    for filename in filenames:
        filemt = time.localtime(os.stat(filename).st_mtime)
        nts = time.strftime("%Y-%m-%d %H:%M", filemt)
        code = filename.split('\\')[-1].split('.')[0].split('-')[-1]
        if nts >= start and nts <= end:  # 需要筛选的时间
            print(filename, nts, 'OK')
            fw.write(code + '\n')
            num+=1
            fw.flush()
        else:
            print(nts, 'Not')
    fw.close()
    obj.set('符合数据条数: '+ str(num)) #将结果显示到前端

# Label用于显示文字或者是图片(width宽度,height高度bg颜色 textvariable是关联对象,控制组件文本发生更改时跟着改变
tk.Label(root, width=20, height=1, bg='white', textvariable=obj).place(x=180, y=110)

# 创建一个按钮
tk.Button(root, text='提取', width=15, height=2, command=calculation).place(x=140, y=180)
# 显示主窗口
root.mainloop()

将.py文件打包成为.exe文件

Pyinstaller -F setup.py 打包exe

Pyinstaller -F -w setup.py 不带控制台的打包

Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包

posted @ 2023-03-09 10:08  小百天  阅读(181)  评论(0编辑  收藏  举报