① python打開網頁並另存為靜態html怎麼實現
用Python的requests庫解決這個問題比較簡單,常式如下:
importsys
importrequests
reload(sys)
sys.setdefaultencoding('utf-8')
r=requests.get('xxx網址')
fh=open('test.html','w')
fh.write(r.text)
fh.close()
說明一下,requests庫不是Python內置的,不過很流行,很多發行版都帶,沒帶的話就去requests官網去下載,或者用 pip install requests命令安裝最新版。
這個程序里在保存文件前,還需要把字元編碼設置一下,用的是自帶的sys庫。
② python桌面圖標是什麼
下載安裝好的python,桌面是沒有快捷方式運行的。想要在桌面快速運行python,可將python的idle創建成桌面圖標。在桌面上看到idle圖標,雙擊運行即可。
③ python怎樣做html的表格
現要實現python製作html格式的表格,利用Python對字元串str.format()格式化操作進行處理,在日常對CVS格式文件處理過程當中,經常會將CVS格式文件進行轉換,在正式場合是程序讀取CVS文件進行轉換並輸出到html格式的文件當中,但現在只是實現一下轉換的過程,需要輸入以逗號分隔的數據。
在設計程式的時候,需要先定義一下整個代碼的框架,首先我們要定義一個主函數main(),雖然Python沒有規定入口函數,一般在正式的開發中都設計了一個main()函數作為程序的入口函數,或許這是一種規范吧。然後我們在定義一個列印表頭的方法print_head(),並在主函數里進行調用。再定義一個列印表尾的方法print_end(),也在主函數中進行調用。定義print_line()為列印表格行,定義extract_field()處理cvs行數據轉換為list集合數據。最後再定義一個處理特殊符號的方法escape_html(),因為在html代碼中為了避免與它的標簽沖突,特要進行特殊符號的轉換,如&-->&
還有就是對長度過長的數據要進行處理並用...代替
源代碼:
#Author Tandaly
#Date 2013-04-09
#File Csv2html.py
#主函數
def main():
print_head()
maxWidth = 100
count = 0
while True:
try:
line = str(input())
if count == 0:
color = "lightgreen"
elif count%2 == 0:
color = "white"
else:
color = "lightyellow"
print_line(line, color, maxWidth)
count += 1
except EOFError:
break
print_end()
#列印表格頭
def print_head():
print("")
#列印錶行
def print_line(line, color, maxWidth):
tr = "".format(color)
tds = ""
if line is not None and len(line) > 0:
fields = axtract_fields(line)
for filed in fields:
td = "{0}".format(filed if (len(str(filed)) <= maxWidth) else
(str(filed)[:100] + "..."))
tds += td
tr += "{0}
".format(tds)
print(tr)
#列印表格尾
def print_end():
print("")
#抽取行值
def axtract_fields(line):
line = escape_html(line)
fields = []
field = ""
quote = None
for c in line:
if c in "\"":
if quote is None:
quote = c
elif quote == c:
quote = None
continue
if quote is not None:
field += c
continue
if c in ",":
fields.append(field)
field = ""
else:
field += c
if len(field) > 0:
fields.append(field)
return fields
#處理特殊符號
def escape_html(text):
text = text.replace("&", "&")
text = text.replace(">", ">")
text = text.replace("<", "<")
return text
#程序入口
if __name__ == "__main__":
main()
運行結果:
>>>
"nihao","wo"
nihaowo
"sss","tandaly"
...tandaly
"lkkkkkkkkkkksdfssssssssssssss",
34
...34
④ python工具有哪些
第一款:最強終端 Upterm
它是一個全平台的終端,可以說是終端里的IDE,有著強大的自動補全功能,之前的名字叫作:BlackWindow。有人跟他說這個名字不利於社區推廣,改名叫Upterm之後現在已經17000+Star了。
第二款:互動式解釋器 PtPython
一個互動式的Python解釋器,支持語法高亮、提示,甚至是VIM和emacs的鍵入模式。
第三款:包管理必備 Anaconda
強烈推薦:Anaconda。它能幫你安裝許多麻煩的東西,包括:Python環境、pip包管理工具、常用的庫、配置好環境路徑等等。這些小事情小白自己一個個去做的話,容易遇到各種問題,也容易造成挫敗感。如果你想用Python搞數據方面的事情,安裝它就可以了,它甚至開發了一套JIT的解釋器Numba。所以Anaconda有了JIT之後,對線上科學計算效率要求比較高的東西也可以搞定了。
第四款:編輯器 Sublime3
如果你是小白的話,推薦從PyCharm開始上手,但是有時候寫一些輕量的小腳本,就會想到輕量級一點的工具。Sublime3很多地方都有了極大的提升,並且用起來比原來還要簡單,配合安裝Anaconda或CodeIntel插件,可以讓Sublime3擁有近乎IDE的體驗。
第五款:前端在線編輯器 CodeSandbox
雖然這個不算是真正意義上的Python開發工具,但如果後端工程師想要寫前端的話,這個在線編輯器太方便了,節省了後端工程師的生命。不用安裝npm的幾千個包了,它已經在雲端完成了,才讓你直接就可以上手寫代碼、看效果。對於React、Vue這些主流前端框架都支持。
第六款:Python Tutor
Python
Tutor是一個免費教育工具,可幫助學生攻克編程學習中的基礎障礙,理解每一行源代碼在程序執行時在計算機中的過程。通過這個工具,教師或學生可以直接在web瀏覽器中編寫Python代碼,並逐步可視化地運行程序。
第七款:IPython
如何進行互動式編程?沒錯,就是通過IPython。IPython相對於Python自帶的shell要好用的多,並且能夠支持代碼縮進、TAB鍵補全代碼等功能。如果進行互動式編程,這是不可缺少的工具。
第八款:Jupyter Notebook
Jupyter
Notebook就像一個草稿本,能將文本注釋、數學方程、代碼和可視化內容全部組合到一個易於共享的文檔中,以Web頁面的方式展示,它是數據分析、機器學習的必備工具。
第九款:Pycharm
Pycharm是程序員常常使用的開發工具,簡單、易用,並且能夠設置不同的主題模式,根據自己的喜好來設置代碼風格。
第十款:Python Tutor
這個工具可能對初學者比較有用,而對於中高級程序員則用處較少。這個工具的特色是能夠清楚的理解每一行代碼是如何在計算機中執行的,中高級程序員一般通過分步調試可以實現類似的功能。這個工具對於最初接觸Python、最初來學習編程的同學還是非常有用的,初學者可以體驗一下。
⑤ python如何進行桌面開發有哪些資料可供參考
這里介紹3個python桌面開發的包,分別是tkinter,wxpython和pyqt,這3個包都可以快速的開發出桌面應用,下面我簡單介紹一下這3個包的安裝和使用,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
1.tkinter:這個是python自帶的開發桌面GUI的標准庫,不需要安裝,跨平台、可移植性高,支持主流的操作系統,像Windows,Linux,Mac等,python自帶的IDLE就是採用這個包開發,簡單易學,容易上手,適合小型項目的開發,入門GUI開發的話,可以試一下這個包,官網資料https://docs.python.org/2/library/tkinter.html:
程序運行如下:
2.wxpython:這是python一個優秀、成熟的跨平台GUI包,但不是自帶的標准庫,需要單獨安裝,支持的組件眾多,可以幫助程序員快速的創建功能齊全、界面友好的GUI界面,應用廣泛,非常適合中小型項目的開發,官網資料https://docs.wxpython.org/,可以參考學習一下,下面我簡單介紹一下安裝和使用:
安裝,這里直接在cmd窗口輸入命令「pip install wxpython」就行,如下:
安裝成功後,就可以進行簡單的測試了,代碼如下,一個簡單編輯器:
程序運行截圖如下:
3.pyqt:這個是Qt提供給python的一個介麵包,Qt功能強大,組件眾多,可以快速構建用戶GUI界面,所以pyqt的功能也十分強大,藉助於Qt,我們可以構建桌面應用,下面我簡單介紹一下pyqt的安裝和使用,官網資料http://pyqt.sourceforge.net/Docs/PyQt5/:
安裝pyqt5,這個直接在cmd窗口輸入「pip install pyqt5」就行,如下:
測試代碼如下,一個簡單的計算器:
程序運行截圖如下:
當然,你也可以藉助designer.exe直接拖拽控制項,完成GUI界面開發,如下,最後打包成py文件就行:
目前,就介紹這3個包吧,網上也有許多這方面的教程,感興趣的話,可以搜搜,希望以上分享的內容能對你有所幫助吧。
⑥ 怎麼用python實現一個頁面的開發
去年春節期間,沒事報了一個pythonweb開發的網路課程,根據自己的學習情況來回答一下。
一個頁面的開發,應該是分前端和後端的。
關於後端
在python中有兩個最常見的開發框架:Django,flask。
Django大而全,什麼功能模塊都已經封裝好了,調用即可;flask小而精,沒有很高的封裝,但是有許多功能模塊,需要我們自己去集成。
當初學習的那個網路課程是用flask框架來做的,上手很簡單:
當初學習的時候能寫一個小的網站,本來想轉行做python後端開發的,但是後來還是接著做數據挖掘了橘旅臘,許久不用,倒是有點生疏了。總得來說,有幾大模塊:
路由
route()裝飾器把一個函數綁定到對應的URL上,Flask的URL規則基圓滑於Werkzeug的路由模塊。這個模塊背後的思想是基於Apache以及更早的HTTP伺服器主張的先例,保證優雅且唯一的URL。
模板渲染Jinja2
用Python生成HTML十分無趣,而且相當繁瑣,因為你必須手動對HTML做轉義來保證應用的安鎮液全。為此,Flask配備了Jinja2模板引擎。當然你也可以使用其他的模板引擎,但是建議你還是使用jinja2模板
請求對象request
你可以使用全局request對象訪問進入的請求數據。Flask處理進入的請求數據並允許你用這個全局對象訪問它。如果你工作在多線程環境,Flask內部保證你總會在當前線程上獲取正確的數據。
資料庫交互-Flask-SQLAlchemy
通過sqlalchemy對資料庫增刪改查,使用的是orm模式,不需要寫SQL語句。
在資料庫中,一個表就是一個python類,一個類的實例就是表中的行。
在開發過程中,會用到一些python的高級應用:
裝飾器:在許可權驗證的時候很需要用到
模塊的導入:防止循環導入
圖像處理:驗證碼生成
property使用:密碼加密時使用
關於前端
如果對前端不熟,想做一個小網站練練手,推薦你使用Bootstrap
裡面有各種的CSS樣式,各種組件,JS插件,還有一些網站實例供你參考,對前端HTML,CSS不是很熟悉的,可以通過這略微修改快速搭建一個前端頁面。
後記:
將來的數據挖掘工作者可能也需要懂網站後端開發,因為以後建模不會一直都是在單機中,可能會集成到網站中,實時數據流入模型,結果展示在網站上。
⑦ Python大神教你300行代碼搞定HTML模板渲染「附源碼」
模板語言由HTML代碼和邏輯控制代碼組成,此處 @PHP 。通過模板語言可以快速的生成預想的HTML頁面。應該算是後端渲染不可缺少的組成部分。
通過使用學習 tornado 、 bottle 的模板語言,我也效仿著實現可以獨立使用的模板渲染的代碼模塊,模板語法來自 tornado 和 bottle 的語法。可以用來做一些簡單的事情 網頁渲染 , 郵件內容生成 等HTML顯示方面。以下就是簡單的語法使用介紹。
1. 變數。使用 {{ }} 包裹起來,裡面的變數為Python傳入。模板渲染時會將傳入的變數轉換成字元串並填入對應位置。
2. 轉義。默認傳入的數據都會進行HTML轉義,可以使用 {% raw value %} 來將value的內容按原始字元串輸出。
3. 條件控制。支持Python的 if,elif,else 。條件代碼需要放在 {% %} 內部,並且在條件結束後需要額外增加 {% end %} ,用於標識條件控制語句塊范圍。
4. 循環控制。支持Python的 for 和 while 。與條件控制一樣也需要放在 {% %} 內部,並且結束處需要額外增加 {% end %} ,用於標識循環控制語句塊的范圍。
這個模板語言模塊是在 Python2.7 上面開發使用的,如果要在 Python3+ 上使用需要對 str 和 bytes 進行一些處理即可,由於沒有引用任何其他模塊,可以很好地獨立使用。
原文鏈接:
http://www.cnblogs.com/jeffxun/p/15585073.html