点击下载 exe文件

注意:执行执行完成后静等10秒钟再关闭,excel保存后没那么快关闭,保存完成后延迟10秒钟移动

源代码:

#!/usr/bin/env python3
import configparser
import os
import win32com.client
import turtle
import time
import math
import shutil
import threading
import sched

#创建文件夹
def mkdir(path):
    path = path.strip()
    path = path.rstrip("\\")
    isExists = os.path.exists(path)
    if not isExists:
        os.makedirs(path)
        print (path + ' 创建成功')
        return True
    else:
        print (path + ' 目录已存在')
        return False
def delpwdtry(xcl,filename,pw_str):
    try:
        wb = xcl.Workbooks.Open(filename, False, False, None, pw_str)
        xcl.DisplayAlerts = False
        # # 保存时可设置访问密码.
        wb.SaveAs(filename, None, '', '')
        # 保存文件
        wb.Save()
        # 文件保存并关闭
        wb.Close(SaveChanges=True)
        xcl.Quit()
        return True
    except:
        xcl.Quit()
        return False


def makefile(path, content):
    if os.path.exists(path):
        return
    else:
        f = open(path, 'w+')
        f.write(content)
        f.seek(0)
        read = f.readline()
        f.close()
        print('excel文件放加密excel  config配置密码 okdir是成功文件夹')
        os.system('pause')
        exit(0)
def aaaa(starttime,filename,num,pwds,i,file,xcl):
    haoshi = round(time.time() - starttime, 2)
    print((str(i) + "/" + str(num)), haoshi, '秒', file)
    pwdok = 0
    i2 = 0
    for pwd in pwds:
        i2 = i2 + 1
        print ((str(i) + "/" + str(num)), '第', i2, "次尝试", pwd)
        pwd_end = ''
        boo = delpwdtry(xcl, filename, pwd)
        if boo:
            pwdok = 1
            pwd_end = pwd
            break
    if pwdok:
        print ((str(i) + "/" + str(num)), 'ok')
        # print ('10秒后移动文件')
        s = threading.Timer(10, movee, (filename,))
        s.start()
    else:
        print ('失败')
    xcl.Quit()
def movee(filename):
    shutil.move(filename, './okdir')
def delpwd(okdir,starttime):
    conf = configparser.ConfigParser()
    # 指定配置文件路径和编码
    conf.read('conf.ini', 'utf-8')  # 文件路径
    # 读取配置信息
    path = conf.get("Conf", "path")
    password = conf.get("Conf", "password")
    pwds = password.split(',')
    xcl = win32com.client.Dispatch("Excel.Application")
    # pw_str为打开密码, 若无 访问密码, 则设为 ''
    xcl.Visible = False
    filelist = os.listdir(path)
    num = len(filelist)
    i = 0
    for file in filelist:
        i = i + 1
        filename = os.path.abspath(os.path.join(path, file))
        aaaa(starttime,filename,num,pwds,i,file,xcl)

starttime = time.time()
endtime = time.time()
okdir = './okdir'
mkdir('./excel')
mkdir(okdir)
makefile('./conf.ini', "[Conf]\npath=./excel/\npassword=mima1,mima2,3...")
delpwd(okdir,starttime)

haoshi = round(time.time()-starttime,2)
print("执行完成 耗时",haoshi , "秒")
os.system('pause')

pyinstaller -F 文件名字

本文地址:https://blog.csdn.net/weixin_39950258/article/details/111953841