中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python編寫簡單的小程序編譯成exe跑在win10上

發布時間:2020-08-20 00:53:24 來源:腳本之家 閱讀:154 作者:鋒利的潘羊多拉 欄目:開發技術

每天的工作其實很無聊,早知道應該去IT公司闖蕩的。最近的工作內容是每逢一個整點,從早7點到晚11點,去查一次客流數據,整理到表格中,上交給素未蒙面的上線,由他呈交領導查閱。

  人的精力畢竟是有限的,所以不一定在每個整點都可以及時去做這項工作。靈機一動,這種一絲不茍的活兒應該讓計算器來做,由它來在每個整點來告訴我該去工作了。

  說干就干,平時只用c#寫過小程序,由于辦公電腦上是公用的,所以沒有想自己電腦一樣裝有visual studio,索性心一橫,用python試試吧。總是聽說那句大名鼎鼎的“人生苦短,我用python”。這一次就當是我的入門吧。

  我的需求其實很簡單,讓程序獲取當前的時間,然后使用間隔為1秒的timer去重復刷新時間,當時間滾動到整點的時候,且該整點在我們預期區間[7-23]點內,我就讓計算機發出蜂鳴聲來提示該去查客流了。

  通過簡單的查閱,我決定使用tkinter來做UI,我對UI的要求不高,本身的設計也很糟糕,所以只是要在窗口上放一個Lable,讓這個Lable的text按秒來顯示當前的時間。

  第一步,使用tkinter繪制窗體,在該窗體上增加一個Lable,效果圖就是下面這樣:

使用python編寫簡單的小程序編譯成exe跑在win10上

  接下來,第二步,使用一個timer來計時,interval 設置為1000ms,在start()時間中實現,獲取當前時間值,重新賦到Lable的text屬性上,這樣就實現了類似時鐘的滾動效果。效果圖如下:

使用python編寫簡單的小程序編譯成exe跑在win10上

  前兩步都順利實現了,代碼方面就剩下一步了。最后一步要做的就是,在start()事件時候,判斷獲取的當前時間是否是整點,如果是預期的整點,就讓電腦蜂鳴一陣,以提醒我該去工作了。這里面主要就一個新功能,怎樣使得計算器蜂鳴。

  附代碼如下(python 2.7):

# -*- coding: utf-8 -*-
from tkinter import *      # 導入 Tkinter 庫
import time,datetime,winsound,threading
root = Tk() 
lbl = Label(root,text ="hello,world",width = 30,height = 2)
def tick():
  global timer
  timer = threading.Timer(1.0,tick,"")
  currenttime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
  lbl.config(text = currenttime)  
  currenttime1 = datetime.datetime.now()
  if currenttime1.minute == 0 and currenttime1.second == 0 and currenttime1.hour > 5 and currenttime1.hour < 23:
    winsound.Beep(1000,5000)
    #其中600表示聲音大小,1000表示發生時長,1000為1秒
  lbl.pack() # 將小部件放置到主窗口中
  timer.start()
if __name__ == "__main__":
  timer = threading.Timer(1.0,tick,"")
  timer.start()
root.mainloop()

  前面這些都不是我今天記錄的重點。這篇文章的記錄重點在嘗試將py代碼編譯成exe文件。

  安裝pyinstaller

  到指定目錄下使用pyinstaller來講py文件編譯成exe

  首先完成第一步,在安裝python后,完成環境變量的配置,這點我在這里不贅述,請在博客園上查。這里簡單介紹下在cmd上安裝pyinstaller。為啥用它呢?請百度,我現在也一知半解。安裝命令:pip install pyinstaller,具體安裝過程如下截圖:

使用python編寫簡單的小程序編譯成exe跑在win10上

  接下來我們來做第二步。我今天在這一步上走了很多彎路,最終在查閱眾多資料后,得到了一個勉強可用的折中方法。如果大家有更好的方法,請不吝指教。

  我們把寫好的py文件,拷貝到如下路徑:

使用python編寫簡單的小程序編譯成exe跑在win10上

  使用如下命令進行編譯成exe文件:

  pyinstaller -F -w yourfilename.py

使用python編寫簡單的小程序編譯成exe跑在win10上

使用python編寫簡單的小程序編譯成exe跑在win10上

  成功編譯生成exe文件,生成的文件結構如圖:

使用python編寫簡單的小程序編譯成exe跑在win10上

  至此,我完成了今天的工作。使用簡單的python編寫一個定時提醒程序。

  這里我記錄兩個疑問:

  第一,感覺py文件經pyinstaller編譯出來的exe文件偏大,足有8兆多,這是為什么?

  第二,如果不在指定目錄下編譯成exe,就不會成功,這是為什么?附帶失敗截圖:

使用python編寫簡單的小程序編譯成exe跑在win10上

  最后,在這里留下一點未來可以擴展的地方,下次嘗試使用tts技術,實現整點報時提醒,畢竟現在的蜂鳴嘟嘟聲,實在是有點傻。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科技| 余江县| 黔西| 连云港市| 蚌埠市| 上林县| 武鸣县| 上杭县| 界首市| 翼城县| 海晏县| 丰城市| 乌苏市| 广东省| 阿克| 泌阳县| 米泉市| 郓城县| 金昌市| 清远市| 疏勒县| 汪清县| 通山县| 奇台县| 邯郸县| 北票市| 长丰县| 南城县| 泰顺县| 义马市| 漯河市| 南陵县| 肥西县| 藁城市| 古浪县| 德阳市| 庆云县| 恭城| 珠海市| 循化| 连城县|