1. 程式人生 > >每日一首古詩, 每日一個桌面桌布

每日一首古詩, 每日一個桌面桌布

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

正好今天沒課,於是閒不下來,做了兩個小工具。

  • 每日古詩詞
  • 每日桌布

這兩個小指令碼都不難,所以很容易上手。


依賴

兩個介面

這兩個小工具的實現,離不開下面的這兩個介面,分別是:

點選上面的連結就可以進入介面詳情介面了,文件也很詳細,就不在過多敘述了。

第三方庫

由於需要訪問網路並且作業系統桌布,所以需要使用下面的庫:

  • requests: 用於網路請求,獲取結果
  • json: 用於處理返回的JSON資料
  • win32api, win32gui, win32con: 作業系統桌布

每日詩詞

最後做成的效果就是可以搜尋詩詞名稱,作者名稱的古詩詞作品,並顯示到終端中。方便學習和使用。

程式碼

# coding: utf-8import requestsimport jsondef getData(url, title=None, author=None, years=''):    headers = {        'apikey': '56eab527a0facb6670b552fd'    }    data = {        'title': title,        'author': author,        'year': years    }    rawdata = requests.post(url, data=data, headers=headers)    result = json.loads(rawdata.text.encode('utf-8'))    return resultdef showPoems(data):    query_result = data['msg']    query_size = data['count']    query_result = data['result']    for index in range(len(query_result)):        item = query_result[index]        print_length = len(item['infoText']) if len(item['infoText']) < 64 else 64        print '-'*(print_length), 'BEGIN %d'%(index+1), '-'*(print_length)        print item['title'], item['years'], item['author']        print item['infoText']        print '\n'    print '-'*28, 'END', '-'*28if __name__ == '__main__':    print "作者名稱author, 詩詞名稱title 二選一, years為可選項,如唐朝,宋朝等".decode('utf-8').encode('gbk')    url = 'http://api.getlove.cn/api/poetry'    title = raw_input("Poem title: ").decode('gbk')    author = raw_input('Poem author: ').decode('gbk')    years = raw_input('Poem years: ').decode('gbk')    showPoems(getData(url, title=title, author=author, years=years))
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

效果圖(gif)

  • 按古詩詞標題查詢

title

  • 按古詩詞作者查詢

author

每日桌面

程式碼

原理:
在使用win32con.SPI_SETDESKWALLPAPER設定Wallpaper時,其第二個引數為圖片路徑,圖片必須是BMP格式。如下:

win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,  imagepath,  1+2)
   
  • 1

否則將報錯如下:

pywintypes.error: (0, 'SystemParametersInfo', 'No error message is available')
   
  • 1
win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,  tmppath,  0)
   
  • 1
  • 2

效果圖(gif)

更換背景圖片

總結

回顧一下,本次實驗內容。複習了requests和win32api庫的使用。

美中不足的是指令碼仍然不夠靈活,拓展性也不夠強,

每日古詩詞那個在終端中顯示的介面效果不夠良好,太粗糙。

每日桌面那個還可以更加人性化,比如做成定時更換桌布等等。

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述