自己用python写个删除软件可好?

要删除一个3G的数据集很是痛苦,看着回收站收集两小时信息,强迫症都犯了(补:好吧,是我错了,shift+delete删除的也不慢),生死看淡不服就干,自己造一个啊。闲话不说,代码走起

from __future__ import print_function
import shutil
import os,sys
import threading
import time

def dlt():
    print("thread2 start")
    #path= input()

    cur_file = os.path.basename(sys.argv[0])
    path='./'

    print('这个程序会删除当前目录下所有文件,确定请按"y",其它任意键退出')

    cho=input()
    if cho =='y':
        try:
            for i,file in enumerate(os.listdir(path)):
                print(file)
                try:    
                    if file != cur_file:
                        if os.path.isdir(path+file):
                            shutil.rmtree(path+file)
                        else:
                            os.remove(path+file)
                    else:
                        print("jump over itself")
                except IOError:
                    print('fail to find the file')
                
            
        except IOError:
            print('fail to find the path')
            
    else:
        pass
    
    
    
def showtime():
    while 1:
        print(time.ctime())
        time.sleep(5)
       

thread1 = threading.Thread(target=showtime)
thread2 = threading.Thread(target=dlt)


if __name__ == '__main__':
    
    thread1.setDaemon(True)
    thread1.start()
    thread2.start()
    thread2.join()
    print("程序执行完毕")
    
    

    

之前没用线程,然后删除大文件夹时程序不动了,卡死了一般,强迫症犯了,again。搞个多线程吧,发现线程知识还不少,用一点学一点吧,勉强跑起来这段小代码。

之后打包个exe文件吧。也不复杂。

——————————————————————————————————————————————————————————————————————————————

下载:pip install pyinstaller

使用:

pyinstaller-F test.py //参数-F 表示生成单个exe文件

执行后在C:\pyinstaller2-1目录下会生成一个test目录,test.exe文件存放在test\dist 目录下

常用参数:

-F    制作独立的可执行程序

-D    制作出的档案存放在同一个文件夹下(默认值)

-K    包含TCL/TK(对于使用了TK的,最好加上这个选项,否则在未安装TK的电脑上无法运行)

-w    制作窗口程序

-c    制作命令行程序(默认)

-X    制作使用UPX压缩过的可执行程序(推荐使用这个选项,需要下载UPX包,解压后upx.exe放在Python(非PyInstaller)安装目录下,下载upx308w.zip)

-o DIR  指定输出SPEC文件路径(这也决定了最后输出的exe文件路径)

--icon=[ICO文件路径] 指定程序图标 (对图标大小有要求 )

-v [指定文件] 指定程序版本信息

-n [指定程序名] 指定程序名称

如有存在多个py文件,之前存在调用关系,只需要将主文件,如Main.py打成exe文件。发布的时候就是一个文件夹了。

注:Pyinstaller对中文目录存在一定的兼容问题。故使用过程中,一般最好不要将exe文件放在带有中文的目录下,比如桌面。