一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python開發.exe小工具的詳細步驟

Python開發.exe小工具的詳細步驟

2021-08-30 00:07潛行100 Python

這篇文章主要介紹了Python開發.exe小工具的詳細步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

v1.0.0

完成基礎框架、初始功能

背景:為了提高日常工作效率、學習界面工具開發,可以將一些常用的功能集成到一個小的測試工具中,供大家使用。

一、環境

Python3,pyinstall

pyinstall安裝:

pip install pyinstaller   (會自動下載future,pywin32,pyinstaller)

或者采用國內鏡像 pip install -i https://pypi.douban.com/simple/ pyinstaller(豆瓣源)

二、代碼準備,直接上一個可以運行的代碼

  1. # coding:utf-8
  2. # @author : csl
  3. # @description : 小工具開發
  4.  
  5. from tkinter import *
  6. import hashlib
  7. import time
  8.  
  9. LOG_LINE_NUM = 0
  10.  
  11. class MY_GUI_SET():
  12. """小工具"""
  13. def __init__(self, init_window_name):
  14. self.init_window_name = init_window_name
  15.  
  16. def set_init_window(self):
  17. self.init_window_name.title("內部測試工具 開發者:潛行100 問題反饋:QQ35643856")
  18. self.init_window_name.geometry("1068x681+10+10")
  19. # init_window["bg"] = "pink"
  20. self.init_window_name.attributes("-alpha", 0.9) # 虛化 值越小虛化程度越高
  21.  
  22. # 標簽
  23. self.init_data_label = Label(self.init_window_name, text="待處理數據")
  24. self.init_data_label.grid(row=0, column=0)
  25. self.result_data_label = Label(self.init_window_name, text="輸出結果")
  26. self.result_data_label.grid(row=0, column=12)
  27. self.log_label = Label(self.init_window_name, text="日志")
  28. self.log_label.grid(row=12, column=0)
  29. # 文本框
  30. self.init_data_Text = Text(self.init_window_name, width=67, height=35) # 原始數據錄入框
  31. self.init_data_Text.grid(row=1, column=0, rowspan=10, columnspan=10)
  32. self.result_data_Text = Text(self.init_window_name, width=70, height=49) # 處理結果展示
  33. self.result_data_Text.grid(row=1, column=12, rowspan=15, columnspan=10)
  34. self.log_data_Text = Text(self.init_window_name, width=66, height=9) # 日志框
  35. self.log_data_Text.grid(row=13, column=0, columnspan=10)
  36. # 按鈕
  37. self.str_trans_to_md5_button = Button(self.init_window_name, text="字符串轉MD5", bg="lightblue", width=10,
  38. command=self.str_trans_to_md5) # 調用內部方法 加()為直接調用
  39. self.str_trans_to_md5_button.grid(row=1, column=11)
  40.  
  41. # 功能函數
  42. def str_trans_to_md5(self):
  43. src = self.init_data_Text.get(1.0, END).strip().replace("\n", "").encode()
  44. # print("src =",src)
  45. if src:
  46. try:
  47. myMd5 = hashlib.md5()
  48. myMd5.update(src)
  49. myMd5_Digest = myMd5.hexdigest()
  50. # print(myMd5_Digest)
  51. # 輸出到界面
  52. self.result_data_Text.delete(1.0, END)
  53. self.result_data_Text.insert(1.0, myMd5_Digest)
  54. self.write_log_to_Text("INFO:str_trans_to_md5 success")
  55. except:
  56. self.result_data_Text.delete(1.0, END)
  57. self.result_data_Text.insert(1.0, "字符串轉MD5失敗")
  58. else:
  59. self.write_log_to_Text("ERROR:str_trans_to_md5 failed")
  60.  
  61. # 獲取當前時間
  62. def get_current_time(self):
  63. current_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
  64. return current_time
  65.  
  66. # 日志動態打印
  67. def write_log_to_Text(self, logmsg):
  68. global LOG_LINE_NUM
  69. current_time = self.get_current_time()
  70. logmsg_in = str(current_time) + " " + str(logmsg) + "\n" # 換行
  71. if LOG_LINE_NUM <= 7:
  72. self.log_data_Text.insert(END, logmsg_in)
  73. LOG_LINE_NUM = LOG_LINE_NUM + 1
  74. else:
  75. self.log_data_Text.delete(1.0, 2.0)
  76. self.log_data_Text.insert(END, logmsg_in)
  77.  
  78. def gui_start():
  79. init_window = Tk()
  80. MY_GUI_SET(init_window).set_init_window()
  81.  
  82. init_window.mainloop()
  83.  
  84. gui_start()

三、打包.exe文件

如果你的Python安裝目錄下的Scripts路徑是加到了系統環境變量中,那么可以在任意路勁下直接運行如下命令:

pyinstaller.exe -F -icon=F:\testTools D:/pyWorkspace/py_uiTools/ABC_conversion/ABC_conversion.py

如果帶-icon參數打包運行時報錯,那么可以在你想保存的文件路勁下直接運行如下命令:

pyinstaller.exe -F D:/pyWorkspace/py_uiTools/ABC_conversion/ABC_conversion.py

Python開發.exe小工具的詳細步驟

Python開發.exe小工具的詳細步驟

后記(打包補充):

1.程序設置自定義圖標:pyinstaller -F -i ico_path  py_path

首先需要下載一張正常的ico,不能用直接修改后綴的。

下載圖片:    https://www.easyicon.net

圖片改為ico:  http://www.ico.la/

輸入命令 pyinstaller -F -i "demo.ico" "main.py"

2.報錯提示:

pyinstaller -F -i "demo.ico" "main.py" 命令格式一定是先圖標路徑,再程序路徑。

路徑最好為英文,沒有中文字符;腳本名稱里沒有特殊字符如 .

使用utf8編碼

圖標文件必須是正常格式,不能直接更改后綴。

tuble index out of range ---》pyinstaller版本尚未支持python的版本

3.窗口程序

使用 pyinstaller -F -w  -i ico_path  py_path ,這樣腳本不會彈出命令窗,前提是用了GUI庫.

4.導入模塊問題

pyinstaller -F -w  -i  --hidden-import queue ico_path  py_path 加上選項

如:pyinstaller.exe -F -w C:\YOU\py_testTools\ABC_conversion/ABC_conversion.py

Python開發.exe小工具的詳細步驟

到此這篇關于Python開發.exe小工具的文章就介紹到這了,更多相關Python小工具內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_35304570/article/details/89424731

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎影视在线影院在线观看观看 | 激情艳妇 | 欧洲破处| 国产精品va在线观看手机版 | 韩国三级做爰 | 我和寂寞孕妇的性事 | 国产一二在线观看视频网站 | 爆操美女 | 高级黄色片 | 国产一区二区三区欧美精品 | 爱福利一区二区 | 涩涩成人 | 国产亚洲精品美女2020久久 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 免费观看欧美一级高清 | 99午夜高清在线视频在观看 | 二次元美女互摸隐私互扒 | 99精品国产成人一区二区 | 亚洲欧美成人综合在线 | 色天天综合网色鬼综合 | 国产精品51麻豆cm传媒 | 欧美日韩国产一区二区三区伦 | 免费高清视频在线观看 | 国产精选之刘婷野战 | 天天插在线视频 | 日本加勒比在线精品视频 | 国产欧美视频高清va在线观看 | 欧美丝袜foot job | 色综合精品 | 四虎一影院区永久精品 | 亚洲视频999 | 麻豆网站在线免费观看 | 青草视频网站在线观看 | 99久久精品免费看国产四区 | 精品国产一区二区三区久久久蜜臀 | 亚洲www美色 | 好吊色永久免费视频大全 | 亚洲国产香蕉视频欧美 | 亚洲人成高清毛片 | 国产小青蛙 | 午夜精品久久久久久久2023 |