python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...
最近在逛Github發(fā)現(xiàn)了一個非常有趣的庫musicbox,是用純Python打造的,收獲了8300顆星。Python語言簡單易學,好玩有趣,身邊越來越多的小伙伴都開始學習Python。她的魅力非常大,不僅長期霸占了編程排行榜前三,而且擁有數(shù)以萬計的開源庫,這些輪子可以組合運用,創(chuàng)造出很多好玩有趣的項目。
今天我們就來看一下這個酷酷的項目,一個命令行版本的網(wǎng)易云音樂,界面整潔漂亮,功能強大,值得學習!
一共有17個功能,真的是麻雀雖小五臟俱全,加了很多的功能:
320kbps的高品質音樂
歌曲,藝術家,專輯檢索
網(wǎng)易22個歌曲排行榜
網(wǎng)易新碟推薦
網(wǎng)易精選歌單
網(wǎng)易主播電臺
私人歌單,每日推薦
隨心打碟
本地收藏,隨時加?
播放進度及播放模式顯示
現(xiàn)在播放及桌面歌詞顯示
歌曲評論顯示
一鍵進入歌曲專輯
定時退出
Vimer式快捷鍵讓操作絲般順滑
可使用數(shù)字快捷鍵
可使用自定義全局快捷鍵
作者是一位張同學,看他的location是在上海。這個項目是用純Python代碼完成的,目前收獲了8300顆星,非常厲害!竟然能把網(wǎng)易云音樂上的功能做了一個命令行界面,了不起,關鍵是界面還做的很酷!
其實小編也是一個資深網(wǎng)易云音樂的愛好者,看到這個項目非常親切,迫不及待的安裝體驗了一把。
1
安裝使用
雖然這個是一個命令行版的網(wǎng)易云音樂,但是播放器是不能省的,需要安裝一個播放器mpg123,這個庫其實就是對MPEG 播放和解碼用的,我的是Mac 電腦,所以直接用brew安裝。
macOS安裝
$ pip(3) install NetEase-MusicBox$ brew install mpg123
用pip3 直接安裝這個庫,安裝的有點慢,因為需要安裝幾個包:
requests
requests-cache
pycryptodomex
future
作者都已經(jīng)打包放在requirement.txt里面,安裝完了Python庫之后,還需要安裝mpg123。這個是必須安裝包,不然無法播放音樂。其他版本的電腦也有對應的安裝方法,詳細可以點擊閱讀原文了解。
2
主界面介紹
1).直接在終端敲 musicbox就可以啟動了
$ musicbox2).看一下主界面:
這里羅列了網(wǎng)易云音樂的9大功能,涵蓋了我們的PC版本上的大部分功能,比如排行榜,藝術家,還有我喜歡的主播電臺,私人FM ,每日歌單等等。
大家對比一下,是不是大部分的功能,這個命令行界面都實行了。
3).強大的子菜單
上面這個其實是主菜單,進入的話每一個菜單里面都有子菜單和詳細的功能,比如我們進入排行榜這個菜單:
里面有很多榜單,這個跟我們的PC版的網(wǎng)易云是一樣的數(shù)據(jù)。我們選擇第一個云音樂榜單進去看一下:
里面會列出上榜的金曲,按鍵盤上面的"J"和"K" 可以快速的進行光標的上下移動,一共排行榜有99首歌曲。
當光標在這個歌曲上停留的時候,整個這個歌曲的名字會進行滾動,這一點作者做的非常貼心。因為有的名字非常長,演唱者的人很多。
3
播放歌曲
上面是簡單的介紹了一下這個界面的使用,如何播放歌曲呢?其實非常簡單,只要選擇對應的歌曲,然后按一下回車鍵就會播放了。而且還可以看到這首歌曲的點評信息,比如這首歐陽娜娜的“The Best for you”
里面會羅列114條歌曲的短評,每一頁大概顯示10頁的數(shù)據(jù)。
4
看一下源碼
這個項目整個的思路,底層是用爬蟲去爬取網(wǎng)易云上的數(shù)據(jù),然后用命令行去呈現(xiàn)出來,用一個進程去獲取用戶的輸入,然后進行相應!如果你用Flask或者Django去包裝,搭建一個迷你小網(wǎng)站,那就是網(wǎng)站版的網(wǎng)易云音樂。
目前這個庫的源碼大概有3-4000行,大部分代碼都是作者2年前就完成的。整個代碼寫的還是蠻工整的,每個模塊分工非常清晰,進去看每個文件,作者代碼寫的很整潔,條理也很清晰。
整個項目的啟動入口就在__main__.py文件里面:
其實這個主程序就干四件事:
一個是檢查argparse的命令行的參數(shù)的輸入;
另外一個就是啟動主界面的菜單menu;
最后fork一個進程,啟動menu模塊里面的start_fork形成一個死循環(huán),等待用戶的鍵盤輸入;
如何出現(xiàn)異常或者用戶終止退出就退出整個程序。
其中比較核心的文件主要是 api.py,menu.py和play.py這幾個文件。menu.py里面start就是整個項目的一個永動機,而api.py主要做的就是爬蟲的功能,如果對網(wǎng)易云音樂爬取有興趣的可以研究一下這個文件。play文件主要是對歌曲進行播放控制的。
有興趣的小伙伴可以下載一下這個庫,好好學習一下。相信對你的功力提升一定大有裨益,如果你對這個源碼有興趣,歡迎留言區(qū)吱一聲。
項目鏈接:
https://github.com/darknessomi/musicbox
總結
以上是生活随笔為你收集整理的python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目日报模板_雄东片区A单元安置房项目首
- 下一篇: 安装百分之80卡住_新车买回来要不要安装