懒惰是最大的动力(好像是诶)
一、懒惰行为解释
为了节省去特定文件夹移动文件的时间,所以写了一个脚本。
二、效果预览
三、过程
1、代码
import os
import shutil
import tkinter as tk
import tkinter.font as tfont
# import win32con, win32api
import time
import pyautogui
# from pynput.mouse import Listener
# import subprocess
import sys
# 获取鼠标所在位置,为了定位
mouse_x, mouse_y = pyautogui.position()
# 弹出的提示个数
prompt_number = 0
# 剪切到指定位置
def cut_file(new_directory):
old_directory = r"C:\Users\57493\AppData\Local\Packages\903DB504.QQ_a99ra4d2cbcxa\LocalState\User\574937561\NetworkFile"
for i in os.listdir(old_directory):
if i != "Preview" and i != "Temp" and i != "Thumbnail":
old_path = os.path.join(old_directory, i)
new_path = os.path.join(new_directory, i)
result = shutil.move(old_path, new_path)
if not result:
view_warning("文件“" + i + "”转移失败!可能是文件不存在或者其它原因!")
continue
view_warning("成功!")
return 0
# 失败提示
def view_warning(text):
global mouse_y
time_start = time.time()
tk0 = tk.Tk()
tk0.title("提示")
# 去掉边框
tk0.overrideredirect(True)
font = tfont.Font(family="楷体", size=12)
width, height = 400, 300
# 获取屏幕的长和宽
# screen_width = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
# screen_height = win32api.GetSystemMetrics(win32con.SM_CYSCREEN)
# 提示在屏幕的位置(x,y)
location_x = int(mouse_x - width / 2)
location_y = int(mouse_y - height / 5)
tk0.geometry("+" + str(location_x) + "+" + str(location_y))
mouse_y = mouse_y - 30
tk.Label(tk0, text=text, font=font).pack(anchor=tk.CENTER)
# 若隐又若现,你还想看见(押韵了)
for i in range(1, 11):
# 窗口透明度
tk0.attributes("-alpha", 0.1 * i)
time.sleep(0.1)
tk0.update()
for i in range(10, -1, -1):
# 窗口透明度
tk0.attributes("-alpha", 0.1 * i)
time.sleep(0.1)
tk0.update()
# 定时爆破提示,这样函数才能有返回值
if time.time() - time_start >= 2.2:
tk0.quit()
tk0.destroy()
mouse_y = mouse_y - 40
return 0
# 固定窗口大小
tk0.resizable(0, 0)
tk0.mainloop()
return 0
if __name__ == "__main__":
# 捕捉外部参数,并执行后续操作,argv[0]是程序本身
cut_file(sys.argv[1])
2、打包成exe程序(用Cmd执行)
pyinstaller -F "Z:\PY_Files\DODODO\test7.py" -w -i "Z:\PY_Files\DODODO\icon.ico" --distpath "Z:\PY_Files"
# -F后面是python文件的位置,-i是图标的位置,--distpath是保存地址,-w取消黑框框(DOS)
3、添加到注册表中
# 默认项的值是显示在右键
# Icon是图标的地址,可以直接用.exe的图标
# command是要执行的命令,指向程序地址
# %V意思是将文件地址传递给程序,然后系统再执行打开程序的命令
# 其它的命令我也不是太懂,这也是一点点试的,可以参考其它程序是怎么写的
四、总结
本来是要展示利用pyinstaller自动打包.exe程序代码的,结果下午测试代码出Bug,害我在浪费了一个多小时找问题,下次有时间再展示。程序实现后功能就是剪切,我就不展现了。
加油、努力。。