日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...

發(fā)布時(shí)間:2025/3/19 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在逛Github發(fā)現(xiàn)了一個(gè)非常有趣的庫(kù)musicbox,是用純Python打造的,收獲了8300顆星。Python語(yǔ)言簡(jiǎn)單易學(xué),好玩有趣,身邊越來(lái)越多的小伙伴都開(kāi)始學(xué)習(xí)Python。她的魅力非常大,不僅長(zhǎng)期霸占了編程排行榜前三,而且擁有數(shù)以萬(wàn)計(jì)的開(kāi)源庫(kù),這些輪子可以組合運(yùn)用,創(chuàng)造出很多好玩有趣的項(xiàng)目。

今天我們就來(lái)看一下這個(gè)酷酷的項(xiàng)目,一個(gè)命令行版本的網(wǎng)易云音樂(lè),界面整潔漂亮,功能強(qiáng)大,值得學(xué)習(xí)!

一共有17個(gè)功能,真的是麻雀雖小五臟俱全,加了很多的功能:

  • 320kbps的高品質(zhì)音樂(lè)

  • 歌曲,藝術(shù)家,專輯檢索

  • 網(wǎng)易22個(gè)歌曲排行榜

  • 網(wǎng)易新碟推薦

  • 網(wǎng)易精選歌單

  • 網(wǎng)易主播電臺(tái)

  • 私人歌單,每日推薦

  • 隨心打碟

  • 本地收藏,隨時(shí)加?

  • 播放進(jìn)度及播放模式顯示

  • 現(xiàn)在播放及桌面歌詞顯示

  • 歌曲評(píng)論顯示

  • 一鍵進(jìn)入歌曲專輯

  • 定時(shí)退出

  • Vimer式快捷鍵讓操作絲般順滑

  • 可使用數(shù)字快捷鍵

  • 可使用自定義全局快捷鍵

作者是一位張同學(xué),看他的location是在上海。這個(gè)項(xiàng)目是用純Python代碼完成的,目前收獲了8300顆星,非常厲害!竟然能把網(wǎng)易云音樂(lè)上的功能做了一個(gè)命令行界面,了不起,關(guān)鍵是界面還做的很酷!

其實(shí)小編也是一個(gè)資深網(wǎng)易云音樂(lè)的愛(ài)好者,看到這個(gè)項(xiàng)目非常親切,迫不及待的安裝體驗(yàn)了一把。

1

安裝使用

雖然這個(gè)是一個(gè)命令行版的網(wǎng)易云音樂(lè),但是播放器是不能省的,需要安裝一個(gè)播放器mpg123,這個(gè)庫(kù)其實(shí)就是對(duì)MPEG 播放和解碼用的,我的是Mac 電腦,所以直接用brew安裝。

macOS安裝

$ pip(3) install NetEase-MusicBox
$ brew install mpg123

用pip3 直接安裝這個(gè)庫(kù),安裝的有點(diǎn)慢,因?yàn)樾枰惭b幾個(gè)包:

  • requests

  • requests-cache

  • pycryptodomex

  • future

作者都已經(jīng)打包放在requirement.txt里面,安裝完了Python庫(kù)之后,還需要安裝mpg123。這個(gè)是必須安裝包,不然無(wú)法播放音樂(lè)。其他版本的電腦也有對(duì)應(yīng)的安裝方法,詳細(xì)可以點(diǎn)擊閱讀原文了解。

2

主界面介紹

1).直接在終端敲 musicbox就可以啟動(dòng)了

$ musicbox

2).看一下主界面:

這里羅列了網(wǎng)易云音樂(lè)的9大功能,涵蓋了我們的PC版本上的大部分功能,比如排行榜,藝術(shù)家,還有我喜歡的主播電臺(tái),私人FM ,每日歌單等等。

大家對(duì)比一下,是不是大部分的功能,這個(gè)命令行界面都實(shí)行了。

3).強(qiáng)大的子菜單

上面這個(gè)其實(shí)是主菜單,進(jìn)入的話每一個(gè)菜單里面都有子菜單和詳細(xì)的功能,比如我們進(jìn)入排行榜這個(gè)菜單:

里面有很多榜單,這個(gè)跟我們的PC版的網(wǎng)易云是一樣的數(shù)據(jù)。我們選擇第一個(gè)云音樂(lè)榜單進(jìn)去看一下:

里面會(huì)列出上榜的金曲,按鍵盤(pán)上面的"J"和"K" 可以快速的進(jìn)行光標(biāo)的上下移動(dòng),一共排行榜有99首歌曲。

當(dāng)光標(biāo)在這個(gè)歌曲上停留的時(shí)候,整個(gè)這個(gè)歌曲的名字會(huì)進(jìn)行滾動(dòng),這一點(diǎn)作者做的非常貼心。因?yàn)橛械拿址浅iL(zhǎng),演唱者的人很多。

3

播放歌曲

上面是簡(jiǎn)單的介紹了一下這個(gè)界面的使用,如何播放歌曲呢?其實(shí)非常簡(jiǎn)單,只要選擇對(duì)應(yīng)的歌曲,然后按一下回車鍵就會(huì)播放了。而且還可以看到這首歌曲的點(diǎn)評(píng)信息,比如這首歐陽(yáng)娜娜的“The Best for you”

里面會(huì)羅列114條歌曲的短評(píng),每一頁(yè)大概顯示10頁(yè)的數(shù)據(jù)。

4

看一下源碼

這個(gè)項(xiàng)目整個(gè)的思路,底層是用爬蟲(chóng)去爬取網(wǎng)易云上的數(shù)據(jù),然后用命令行去呈現(xiàn)出來(lái),用一個(gè)進(jìn)程去獲取用戶的輸入,然后進(jìn)行相應(yīng)!如果你用Flask或者Django去包裝,搭建一個(gè)迷你小網(wǎng)站,那就是網(wǎng)站版的網(wǎng)易云音樂(lè)。

目前這個(gè)庫(kù)的源碼大概有3-4000行,大部分代碼都是作者2年前就完成的。整個(gè)代碼寫(xiě)的還是蠻工整的,每個(gè)模塊分工非常清晰,進(jìn)去看每個(gè)文件,作者代碼寫(xiě)的很整潔,條理也很清晰。

整個(gè)項(xiàng)目的啟動(dòng)入口就在__main__.py文件里面:

其實(shí)這個(gè)主程序就干四件事:

  • 一個(gè)是檢查argparse的命令行的參數(shù)的輸入;

  • 另外一個(gè)就是啟動(dòng)主界面的菜單menu;

  • 最后fork一個(gè)進(jìn)程,啟動(dòng)menu模塊里面的start_fork形成一個(gè)死循環(huán),等待用戶的鍵盤(pán)輸入;

  • 如何出現(xiàn)異常或者用戶終止退出就退出整個(gè)程序。

其中比較核心的文件主要是 api.py,menu.py和play.py這幾個(gè)文件。menu.py里面start就是整個(gè)項(xiàng)目的一個(gè)永動(dòng)機(jī),而api.py主要做的就是爬蟲(chóng)的功能,如果對(duì)網(wǎng)易云音樂(lè)爬取有興趣的可以研究一下這個(gè)文件。play文件主要是對(duì)歌曲進(jìn)行播放控制的。

有興趣的小伙伴可以下載一下這個(gè)庫(kù),好好學(xué)習(xí)一下。相信對(duì)你的功力提升一定大有裨益,如果你對(duì)這個(gè)源碼有興趣,歡迎留言區(qū)吱一聲。

項(xiàng)目鏈接:

https://github.com/darknessomi/musicbox

總結(jié)

以上是生活随笔為你收集整理的python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。