開(kāi)發(fā)堡壘機(jī)之前,先來(lái)學(xué)習(xí)Python的paramiko模塊,該模塊基于SSH用于連接遠(yuǎn)程服務(wù)器并執(zhí)行相關(guān)操作安裝paramiko模塊pip3installparamiko基于用戶(hù)密碼方式importparamiko#創(chuàng)建SSH對(duì)象ssh=paramiko.SSHClient()#允許連接不在know_hosts文件中的主機(jī)ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#連接服務(wù)器ssh.c
系統(tǒng) 2019-09-27 17:45:58 1634
裝飾器基本概念大家都知道裝飾器是一個(gè)很著名的設(shè)計(jì)模式,經(jīng)常被用于AOP(面向切面編程)的場(chǎng)景,較為經(jīng)典的有插入日志,性能測(cè)試,事務(wù)處理,Web權(quán)限校驗(yàn),Cache等。Python語(yǔ)言本身提供了裝飾器語(yǔ)法(@),典型的裝飾器實(shí)現(xiàn)如下:@function_wrapperdeffunction():pass@實(shí)際上是python2.4才提出的語(yǔ)法糖,針對(duì)python2.4以前的版本有另一種等價(jià)的實(shí)現(xiàn):deffunction():passfunction=func
系統(tǒng) 2019-09-27 17:45:57 1634
并發(fā)與鎖多個(gè)線程共享數(shù)據(jù)的時(shí)候,如果數(shù)據(jù)不進(jìn)行保護(hù),那么可能出現(xiàn)數(shù)據(jù)不一致現(xiàn)象,使用鎖,信號(hào)量、條件鎖互斥鎖1.互斥鎖,是使用一把鎖把代碼保護(hù)起來(lái),以犧牲性能換取代碼的安全性,那么Rlock后必須要relase解鎖不然將會(huì)失去多線程程序的優(yōu)勢(shì)2.互斥鎖的基本使用規(guī)則:importthreading#聲明互斥鎖lock=threading.Rlock();defhandle(sid):#功能實(shí)現(xiàn)代碼lock.acquire()#加鎖#writercodein
系統(tǒng) 2019-09-27 17:45:51 1634
Python一切皆對(duì)象(object),每個(gè)對(duì)象都可能有多個(gè)屬性(attribute)。Python的屬性有一套統(tǒng)一的管理方案。屬性的__dict__系統(tǒng)對(duì)象的屬性可能來(lái)自于其類(lèi)定義,叫做類(lèi)屬性(classattribute)。類(lèi)屬性可能來(lái)自類(lèi)定義自身,也可能根據(jù)類(lèi)定義繼承來(lái)的。一個(gè)對(duì)象的屬性還可能是該對(duì)象實(shí)例定義的,叫做對(duì)象屬性(objectattribute)。對(duì)象的屬性?xún)?chǔ)存在對(duì)象的__dict__屬性中。__dict__為一個(gè)詞典,鍵為屬性名,對(duì)應(yīng)的
系統(tǒng) 2019-09-27 17:45:47 1634
學(xué)習(xí)python少不了寫(xiě)爬蟲(chóng),不僅能以點(diǎn)帶面地學(xué)習(xí)、練習(xí)使用python,爬蟲(chóng)本身也是有用且有趣的,大量重復(fù)性的下載、統(tǒng)計(jì)工作完全可以寫(xiě)一個(gè)爬蟲(chóng)程序完成。用python寫(xiě)爬蟲(chóng)需要python的基礎(chǔ)知識(shí)、涉及網(wǎng)絡(luò)的幾個(gè)模塊、正則表達(dá)式、文件操作等知識(shí)。昨天在網(wǎng)上學(xué)習(xí)了一下,寫(xiě)了一個(gè)爬蟲(chóng)自動(dòng)下載「糗事百科」里面的圖片。源代碼如下:復(fù)制代碼代碼如下:#-*-coding:utf-8-*-#上面那句讓代碼里支持中文#------------------------
系統(tǒng) 2019-09-27 17:45:42 1634
裝飾器:概念:把一個(gè)函數(shù)當(dāng)作參數(shù)傳遞給一個(gè)函數(shù),返回一個(gè)替代版的函數(shù)本質(zhì)上就是一個(gè)返回函數(shù)的函數(shù)“在不改變?cè)瘮?shù)的基礎(chǔ)上,給函數(shù)增加功能”@符號(hào),那只是一個(gè)簡(jiǎn)短的方式來(lái)生成一個(gè)被裝飾的函數(shù)defpaint(func):參數(shù)是一個(gè)函數(shù)definner():print('#########')這個(gè)的整個(gè)部分就都是裝飾器func()returninner@paint這個(gè)就是函數(shù)戴帽子,也就是裝飾器deffunc():print('haveaniceday!!')
系統(tǒng) 2019-09-27 17:45:41 1634
pip版本問(wèn)題Youareusingpipversionxx.x.x,howeverversionxx.x.xisavailable.本質(zhì)是想告訴你,版本需要升級(jí)啦!下面介紹當(dāng)直接upgrade解決不了問(wèn)題是的“強(qiáng)硬”做法!準(zhǔn)備階段:先去【pip官網(wǎng)】下載最新的壓縮包!并解壓。sudoapt-getremovepython-pip#1.卸載舊版本sudopythonsetup.pyinstall#2.進(jìn)入壓縮包的解壓目錄執(zhí)行pip-V#3.看到版本號(hào)證明成
系統(tǒng) 2019-09-27 17:45:40 1634
環(huán)境:編輯工具:瀏覽器:有問(wèn)題可以聯(lián)系qq:1776376537#coding:utf-8fromcommon.baseimportBasefromseleniumimportwebdriverfromselenium.webdriver.common.action_chainsimportActionChainsfromselenium.webdriver.support.selectimportSelect#打開(kāi)火狐瀏覽器driver=webdrive
系統(tǒng) 2019-09-27 17:45:33 1634
目錄一、Python進(jìn)階實(shí)戰(zhàn)之三級(jí)菜單1.1面條版1.2文藝青年版一、Python進(jìn)階實(shí)戰(zhàn)之三級(jí)菜單打印省、市、縣三級(jí)菜單可返回上一級(jí)可隨時(shí)退出程序1.1面條版menu={'北京':{'海淀':{'五道口':{'soho':{},'網(wǎng)易':{},'google':{}},'中關(guān)村':{'愛(ài)奇藝':{},'汽車(chē)之家':{},'youku':{},},'上地':{'百度':{},},},'昌平':{'沙河':{'老男孩':{},'北航':{},},'天通苑':
系統(tǒng) 2019-09-27 17:45:30 1634
這次要為我的python程序加上數(shù)據(jù)庫(kù),主要是實(shí)現(xiàn)從mysql中查詢(xún)出數(shù)據(jù)并在頁(yè)面上顯示出來(lái)。首先是mysql的配置文件config.pyhost="127.0.0.1"user="root"password=""charset="utf8"database="service"port=3306然后是從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)的aService.pyimportMySQLdbimportsysimportconfigclassAService(object):de
系統(tǒng) 2019-09-27 17:45:28 1634