标签:命令行 多个 纪念 兼容问题 time() 大小 表示 文件夹 __name__
要删除一个3G的数据集很是痛苦,看着回收站收集两小时信息,强迫症都犯了,生死看淡不服就干,自己造一个啊。闲话不说,代码走起
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文件放在带有中文的目录下,比如桌面。
打完收工,有次一文,纪念花费的两小时
标签:命令行 多个 纪念 兼容问题 time() 大小 表示 文件夹 __name__
原文地址:https://www.cnblogs.com/jiangnanyanyuchen/p/9834037.html