真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用Python開(kāi)發(fā)Emoji表情查找程序

本篇內(nèi)容介紹了“怎么用Python開(kāi)發(fā)Emoji表情查找程序”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、望奎網(wǎng)絡(luò)推廣、小程序開(kāi)發(fā)、望奎網(wǎng)絡(luò)營(yíng)銷、望奎企業(yè)策劃、望奎品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供望奎建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

今天分享一個(gè)前幾天構(gòu)建的小應(yīng)用程序,用來(lái)從命令行搜索emoji表情符號(hào)。

它可以通過(guò)OS命令行來(lái)完成,而且不必單擊任何東西即可獲得我的表情符號(hào),更加便捷。

該工具支持一次將多個(gè)匹配的表情符號(hào)復(fù)制到剪貼板。

$ emo  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > snake beer fire ninja Copying ? ? ? ? to clipboard  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > q Bye

至此,我的剪貼板上所有4個(gè)表情符號(hào)都寫(xiě)好了,在鍵盤(pán)輸入Cmd + V即可。

是不是很酷?

安裝并運(yùn)行程序包

git clone git@github.com:PyBites-Open-Source/emojisearcher.git cd emojisearcher poetry install poetry run emo

poetry使依賴項(xiàng)管理變得輕而易舉,最后一個(gè)命令(別名)實(shí)際上有效,因?yàn)槲覍⑵浞旁趐yproject.toml文件中:

[tool.poetry.scripts] emo = "emojisearcher.script:main"

您也可以通過(guò)添加以下shell別名來(lái)使調(diào)用命令更短(就像我在第一個(gè)示例中一樣):

$ alias emo alias emo='cd YOUR_PATH/emojisearcher && poetry run emo'

(將YOUR_PATH更改為項(xiàng)目的路徑。)

文件夾結(jié)構(gòu)

由于有了poetry new,文件夾結(jié)構(gòu)從一開(kāi)始就遵循了公認(rèn)的最佳做法。

我喜歡將測(cè)試文件放在專用的tests /文件夾中。

庫(kù)

我使用emoji庫(kù)中的EMOJI_UNICODE常量來(lái)查找emoji表情:

... EMOJI_MAPPING = EMOJI_UNICODE[LANGUAGE]  ... def get_emojis_for_word(     word: str, emoji_mapping: dict[str, str] = EMOJI_MAPPING ) -> list[str]:     return [emo for name, emo in emoji_mapping.items() if word in name]

然后我使用pyperclip復(fù)制到操作系統(tǒng)的剪貼板中:

from pyperclip import copy ... def copy_emojis_to_clipboard(matches: list[str]) -> None:     all_matching_emojis = ' '.join(matches)     print(f"Copying {all_matching_emojis} to clipboard")     copy(all_matching_emojis)

感謝這個(gè)庫(kù)的作者AlSweigart,這是一個(gè)很酷的程序包。

如何查找多個(gè)表情符號(hào)?

在這種情況下,我通過(guò)user_select_emoji函數(shù)進(jìn)入交互模式。

我想用一種創(chuàng)新的方式來(lái)觸發(fā)此交互模式,為此選擇了信號(hào)字符(SIGNAL_CHAR):如果用戶的搜索字符串以點(diǎn)(.)結(jié)尾,它將進(jìn)入交互模式。

原因如下:

$ emo  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > snake Copying ? to clipboard  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > flag Copying ? to clipboard  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > flag. 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 8 ? 9 ?‍?? 10 ??‍? 11 ??‍?? 12 ? 13 ? Select the number of the emoji you want: 12 Copying ? to clipboard  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > q Bye

鍵入“snake(蛇)”后出現(xiàn)的emoji不會(huì)出錯(cuò),但是對(duì)于“flag(旗幟)”,它默認(rèn)選擇12個(gè)匹配項(xiàng)中的第一個(gè)(對(duì)于“heart(心臟)”,我們會(huì)得到130個(gè)匹配的表情符號(hào)!),這里我想手動(dòng)選擇一個(gè),因此鍵入點(diǎn)".",以做出進(jìn)一步的選擇。

測(cè)試

還有幾件事:

@ pytest.mark.parametrize非常好,可以使您的測(cè)試代碼更加簡(jiǎn)潔。

將代碼分解為更多的功能使其更可重用且更易于測(cè)試。

我測(cè)試了使用@patch(“ builtins.input”,side_effect =  ['a',10,2,'q']的交互模式模擬input的方法。side_effect中的列表包含將“double”  input的參數(shù)。這等效于以下內(nèi)容(在鍵入tree之后。):

$ emo  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > tree. 1 ? 2 ? 3 ? 4 ? 5 ? Select the number of the emoji you want: a a is not an integer. 1 ? 2 ? 3 ? 4 ? 5 ? Select the number of the emoji you want: 10 10 is not a valid option. 1 ? 2 ? 3 ? 4 ? 5 ? Select the number of the emoji you want: 2 Copying ? to clipboard  ------------------------------------------------------------------------------------ Type one or more emoji related words ... End a word with a . if you want to select an emoji if there are multiple matches, otherwise the first match will be picked. Type 'q' to exit. > q Bye

測(cè)試代碼時(shí),一種有用的技術(shù)是刪除所有常見(jiàn)的前導(dǎo)空白。您可以為此使用textwrap.dedent,但是在這里我使用了替代的inspect.cleandoc。

上傳到PyPI

感謝toml文件中[tool.poetry]中的一些基本元數(shù)據(jù),發(fā)布到PyP非常簡(jiǎn)單:

poetry build  poetry publish

(首先使用--repository of publish在測(cè)試PyPI上嘗試一下,看是否一切正常。)

“怎么用Python開(kāi)發(fā)Emoji表情查找程序”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前名稱:怎么用Python開(kāi)發(fā)Emoji表情查找程序
分享鏈接:http://weahome.cn/article/gcodci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部