今天就跟大家聊聊有關(guān)如何用Python編寫一個私人助理程序,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供沙河口網(wǎng)站建設(shè)、沙河口做網(wǎng)站、沙河口網(wǎng)站設(shè)計、沙河口網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、沙河口企業(yè)網(wǎng)站模板建站服務(wù),10多年沙河口做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
在你的工作中是否有一些你自己經(jīng)常做重復(fù)的任務(wù)?這就是編程的樂趣所在。通過一些思考和編程,您可以使您的任務(wù)自動化,并為您節(jié)省大量時間。
1. 助手功能
我們要創(chuàng)建一個助手,可以寫電子郵件。只需要輸入收件人的名字或昵稱,其余的都由它來處理。要寫一封好的電子郵件,這個程序會查看我們制作的Excel表格,里面有我通常每周都會給他們發(fā)郵件的人的基本信息。例如,如果我輸入Caleb(我想要給誰發(fā)電子郵件的名字),它會為我復(fù)制以下內(nèi)容:
Full name: Caleb (Coco) Stephano Email to send to: stevens.coco12345@snailmail.com Hi Coco, I hope all is well on the UX team! Thanks, Ben
2. 輸入程序指令
為了讓您的Python助手幫助您,您可能需要向它提出一些要求。首先,提示用戶輸入文本:
answer=input('What can I help you with? Enter here: ')
當您運行您的文件時,您將注意到在終端或命令提示符中,光標正好放在上面圓括號內(nèi)的文本之后,為您的輸入做好準備。
3. 使用openpyxl從Excel中獲取數(shù)據(jù)
假設(shè)你在Excel表格中有關(guān)于你所有朋友的信息。更具體地說,是他們的姓和名、昵稱、電子郵件地址、興趣愛好等等。您可以使用openpyxl從該工作表中提取數(shù)據(jù),以便您的Python助手可以使用它:
import openpyxl book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here') ws = book.active
您現(xiàn)在可以使用ws來做各種事情。例如,讓我們用我們的朋友的例子,想象每一列是一個信息列表:
這張單子上寫著Beth很喜歡打網(wǎng)球。然而,我們不應(yīng)該每次都打開和搜索我們的表單來記住這一點。我們的助理會幫我們的。例如,下面的附加代碼將列昵稱數(shù)據(jù)存儲到數(shù)組中。這樣,你的助手可以搜索和處理你的數(shù)據(jù):
import openpyxl #SET UP SHEET book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here') ws = book.active #SET UP ARRAY TO HOLD NICKNAMES nickArray=[] #APPEND NICKNAMES IN LIST, RUNNING THROUGH COLUMN B OF THE SHEET UNTIL THERE'S AN EMPTY CELL skip=True firstRow=True for cell in ws['B']: if (cell.value==None): continue if (skip==False): nickArray.append(cell.value) firstRow=False skip=False #PRINT ALL ITEMS IN THAT ROW TO SEE THAT IT WORKS for x in nickArray: print(x)
這段代碼查看工作表的列B,跳過第一行(通常是標題行),然后掃描整行數(shù)據(jù),直到?jīng)]有剩下。它將每個項添加到數(shù)組中。
4. 使用tkinter顯示用戶友好的消息
在電腦上,人們通常不會在終端機或命令提示符中埋頭工作。通常,你會使用一些不錯的用戶界面,比如Microsoft Word或谷歌Chrome。您可能會注意到,您通過帶有按鈕的漂亮窗口和這些程序交互。這就是好的UX/UI發(fā)揮作用的地方。
到目前為止,您和助手在終端或命令提示符中通信,這不是理想的UI。Python的tkinter庫包含允許您創(chuàng)建新的和改進的UI的工具。
下面是一個簡單的例子。假設(shè)當我們運行update .py文件以使用最新的Excel表信息更新我們的助手時,我們希望顯示一條“update Successful”消息:
#THIS IS IN updater.py from tkinter import * #DISPLAY SUCCESS MESSAGE root=Tk() labelfont=('times', 20, 'bold') root.title('Success Confirmation') successText='Your update was successful' widget=Label(root, text=successText, wraplength=600, justify=LEFT) widget.config(height=35, width=90) widget.pack(expand=YES, fill=BOTH) root.mainloop()
它的工作方式是將tkinter根目錄設(shè)置為基本窗口構(gòu)建塊,并在其上添加額外的細節(jié)。我添加了標題、正文文本、關(guān)于文本外觀的詳細信息、窗口尺寸以及關(guān)于窗口功能的其他規(guī)范。當你運行這個文件時,最終結(jié)果看起來是這樣的:
5. 使用pyperclip將文本復(fù)制到剪貼板
為我起草郵件的助手會在我面前顯示郵件文本。使用pyperclip庫,它有工具可以自動將任何文本復(fù)制到剪貼板:
#THIS IS IN assistant.py import pyperclip myText="Hi Coco,\n\n"+"I hope all is well on the UX team!\n\n"+"Thanks,\n"+"Ben" pyperclip.copy(myText)
6. 將文本寫入日志
如果您希望保留一個日志,其中包含您的助手上次幫助您的時間,該怎么辦?創(chuàng)建一個名為log.py的新Python文件。這就是日志。如果您的助手有以下代碼,則可以始終使用日期和時間為您填充日志:
#THIS IS IN assistant.py #IMPORT LIBRARY THAT GETS CURRENT DATE AND TIME import datetime #CREATE AND NEW DATE AND TIME now = datetime.datetime.now() #WRITE DATE AND TIME TO THE LOG with open("log.py", "w") as f1: f1.writelines(now.strftime("%Y-%m-%d %H:%M:%S")
看完上述內(nèi)容,你們對如何用Python編寫一個私人助理程序有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。