介面的製作一直是 python 的痛!使用 python 製作桌面端介面是非常痛苦的過程(又難學又難看)。不過,python 已經出現了幾個基於web前端的庫,他們的基本機制大同小異,如果對 介面操作性沒有太大要求,那麼這些庫就比較適合你 。
這個系列基於 pywebio 的一系列實戰應用,讓我們從實戰中學習這個庫的使用!
本節最終效果**:
安裝庫:
pip install -u pywebio
輸出文字
先輸出一段內容試試效果:
import pywebio
import pywebio.output as output
def main():
output.put_html('**顯示程式')
if __name__=='__main__':
pywebio.start_server(main, port=8080, debug=true, cdn=false,auto_wqtpjnopen_webbrowser=true)
行1,2:匯入需要的東西,其中 pywebio.output 是用來輸出內容相關操作
行4:定義乙個函式,名字隨意
行5:put_html 這個函式就是行2匯入的 output 模組的操作,用來輸出 html 內容
行9:啟動服務。這大部分是樣板**(就是每次都一樣的)。特別重要的是第乙個引數,就是我們定義的函式名字(注意並沒有執行,只是傳入)
執行這段指令碼,如無意外你的瀏覽器就啟動了一頁,位址是 http://localhost:8080 :
如果你不熟悉 html 的各種標籤,你可能連基本的排版都做不到。
這還好,pywebio 還支援 markdown:
def main():
output.put_markdown('# **顯示程式')
output.put_markdown('功能如下:')
output.put_markdown("""
- 選擇檔案
- 自動載入輸出**一部分內容
""")
輸入操作
只有輸出操作是滿足不了需求,介面上很多輸入操作。
選擇檔案就是一種輸入操作(使用者輸入內容到介面上):
import pywebio
import pywebio.output as output
import pywebio.input as input
def main():
output.put_markdown('# **顯示程式')
output.put_markdown('功能如下:')
output.put_markdown("""
- 選擇檔案
- 自動載入輸出**一部分內容
""")
file = input.www.cppcns.comfile_upload('選擇乙個excel檔案','.xlsx')
行3:匯入輸入操作模組
行13:使用 file_upload 用來讓使用者選擇檔案上傳。第乙個引數是提示內容,第二個引數是限定檔案字尾名
使用者選擇的檔案將會賦值到變數 file
看看效果:
點選右邊的"browse"按鈕,即可從彈窗中選擇excel檔案。
點選提交按鈕後,之前的**就會繼續往下執行。
有了檔案內容,我們用 pandas 讀取:
import p程式設計客棧ywebio
import pywebio.output as output
import pywebio.input as input
import pandas as pd
def main():
output.put_markdown('# **顯示程式')
output.put_markdown('功能如下:')
output.put_markdown("""
- 選擇檔案
- 自動載入輸出**一部分內容
""")
file = input.file_upload('選擇乙個excel檔案','.xlsx')
df = pd.read_excel(file['content'])
output.put_html(df.head(10).to_html())
行15:通過 file['content'] 獲取檔案內容。
行16:df.to html() 就能生成完整的** html ,然後用 put html 輸出即可
看看效果:
重點最終的**如下:
程式設計客棧import pywebio
import pywebio.output as output
import pywebio.input as input
import pandas as pd
def main():
output.put_markdown('# **顯示程式')
output.put_markdown('功能如下:')
output.put_markdown("""
- 選擇檔案
- 自動載入輸出**一部分內容
""")
file = input.file_upload('選擇乙個excel檔案','.xlsx')
df = pd.read_excel(file['content'])
output.put_html(df.head(10).to_html())
所有的input操作**,都會等待介面操作完畢才會往下執行。例如行14 file_upload 會一直卡住,直到介面上點選 "提交" 按鈕
按照上面的流程,這個函式將會執行完畢。如果希望重新執行一次,只需要重新整理一下瀏覽器的頁面
只是載入資料太沒趣了?下一節將進一步改進,載入資料後可以對資料查詢
快速排序演算法實現(遞迴實現 棧實現)
基本思想 選擇乙個基準元素,比如選擇最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,又稱為軸位置,此位置的元素確定後不再參與排序,然後再用同樣的方法遞迴地排序劃分的兩部分。分析 快速排序是不穩定的排序。快速排序的時間複...
介面實現與配置實現
在實現系統功能的時候,通常會首先定義好功能的介面,在系統功能不斷被實現的過程中,慢慢的發現有些介面的實現很類似,這個時候通常會開始做一次抽象,形 成乙個共同的部分,慢慢的系統形成了乙個抽象的層次,而為了通用,通常是通過定義介面,形成乙個抽象類,抽象類中暴露出一些抽象方法供外部擴充套件實 現,逐步的積...
js分頁實現,前端實現。
主要是借鑑了網上乙個例子,自己重新加了樣式,新增了跳轉,修改了一些小地方,用於和大家一起分享,前端分頁的技巧,的資料是我已經寫好了,其實大家也可以前端渲染 然後再分頁,都是可以的。其實分頁最關鍵是這兩句 var startrow currentpage 1 pagesize 1 currentpag...