溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用Python編寫一個(gè)私人助理程序

發(fā)布時(shí)間:2021-10-28 16:31:38 來(lái)源:億速云 閱讀:201 作者:柒染 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)如何用Python編寫一個(gè)私人助理程序,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在你的工作中是否有一些你自己經(jīng)常做重復(fù)的任務(wù)?這就是編程的樂(lè)趣所在。通過(guò)一些思考和編程,您可以使您的任務(wù)自動(dòng)化,并為您節(jié)省大量時(shí)間。

1. 助手功能

我們要?jiǎng)?chuàng)建一個(gè)助手,可以寫電子郵件。只需要輸入收件人的名字或昵稱,其余的都由它來(lái)處理。要寫一封好的電子郵件,這個(gè)程序會(huì)查看我們制作的Excel表格,里面有我通常每周都會(huì)給他們發(fā)郵件的人的基本信息。例如,如果我輸入Caleb(我想要給誰(shuí)發(fā)電子郵件的名字),它會(huì)為我復(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: ')

當(dāng)您運(yùn)行您的文件時(shí),您將注意到在終端或命令提示符中,光標(biāo)正好放在上面圓括號(hào)內(nèi)的文本之后,為您的輸入做好準(zhǔn)備。

3. 使用openpyxl從Excel中獲取數(shù)據(jù)

假設(shè)你在Excel表格中有關(guān)于你所有朋友的信息。更具體地說(shuō),是他們的姓和名、昵稱、電子郵件地址、興趣愛(ài)好等等。您可以使用openpyxl從該工作表中提取數(shù)據(jù),以便您的Python助手可以使用它:

import openpyxl book = openpyxl.load_workbook(r'Put_Your_Path_To_Sheet_Here') ws = book.active

您現(xiàn)在可以使用ws來(lái)做各種事情。例如,讓我們用我們的朋友的例子,想象每一列是一個(gè)信息列表:

如何用Python編寫一個(gè)私人助理程序

這張單子上寫著Beth很喜歡打網(wǎng)球。然而,我們不應(yīng)該每次都打開和搜索我們的表單來(lái)記住這一點(diǎn)。我們的助理會(huì)幫我們的。例如,下面的附加代碼將列昵稱數(shù)據(jù)存儲(chǔ)到數(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,跳過(guò)第一行(通常是標(biāo)題行),然后掃描整行數(shù)據(jù),直到?jīng)]有剩下。它將每個(gè)項(xiàng)添加到數(shù)組中。

4. 使用tkinter顯示用戶友好的消息

在電腦上,人們通常不會(huì)在終端機(jī)或命令提示符中埋頭工作。通常,你會(huì)使用一些不錯(cuò)的用戶界面,比如Microsoft  Word或谷歌Chrome。您可能會(huì)注意到,您通過(guò)帶有按鈕的漂亮窗口和這些程序交互。這就是好的UX/UI發(fā)揮作用的地方。

到目前為止,您和助手在終端或命令提示符中通信,這不是理想的UI。Python的tkinter庫(kù)包含允許您創(chuàng)建新的和改進(jìn)的UI的工具。

下面是一個(gè)簡(jiǎn)單的例子。假設(shè)當(dāng)我們運(yùn)行update .py文件以使用最新的Excel表信息更新我們的助手時(shí),我們希望顯示一條“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)建塊,并在其上添加額外的細(xì)節(jié)。我添加了標(biāo)題、正文文本、關(guān)于文本外觀的詳細(xì)信息、窗口尺寸以及關(guān)于窗口功能的其他規(guī)范。當(dāng)你運(yùn)行這個(gè)文件時(shí),最終結(jié)果看起來(lái)是這樣的:

如何用Python編寫一個(gè)私人助理程序

5. 使用pyperclip將文本復(fù)制到剪貼板

為我起草郵件的助手會(huì)在我面前顯示郵件文本。使用pyperclip庫(kù),它有工具可以自動(dòng)將任何文本復(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. 將文本寫入日志

如果您希望保留一個(gè)日志,其中包含您的助手上次幫助您的時(shí)間,該怎么辦?創(chuàng)建一個(gè)名為log.py的新Python文件。這就是日志。如果您的助手有以下代碼,則可以始終使用日期和時(shí)間為您填充日志:

#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)容,你們對(duì)如何用Python編寫一個(gè)私人助理程序有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI