下面僅以多線程為例:首先需要明確幾個概念:知識點一:當一個進程啟動之后,會默認產生一個主線程,因為線程是程序執行流的最小單元,當設置多線程時,主線程會創建多個子線程,在python中,默認情況下(其實就是setDaemon(False)),主線程執行完自己的任務以后,就退出了,此時子線程會繼續執行自己的任務,直到自己的任務結束,例子見下面一。知識點二:當我們使用setDaemon(True)方法,設置子線程為守護線程時,主線程一旦執行結束,則全部線程全部被
系統 2019-09-27 17:47:34 1965
登錄流程:實例化一個driver,然后driver.get()發送請求最重要的:切換iframe子框架,因為豆瓣的網頁中的登錄那部分是一個ifrme,必須切換才能尋找到對應元素利用selenium切換到賬號密碼登錄利用selenium輸入賬戶和密碼利用selenium點擊登錄按鈕然后利用字典推導式保存了一下cookie代碼實現:importtimefromseleniumimportwebdriver#實例化driverdriver=webdriver.C
系統 2019-09-27 17:47:06 1965
適用的日志格式:106.45.185.214--[06/Aug/2014:07:38:59+0800]"GET/HTTP/1.0"20010"-""-"171.104.119.22--[06/Aug/2014:08:55:01+0800]"GET/HTTP/1.0"20010"-""-"27.31.238.242--[06/Aug/2014:09:43:19+0800]"GET/HTTP/1.0"20010"-""-"218.65.202.131--[06
系統 2019-09-27 17:46:56 1965
每種語言都有自己的優勢,互相結合起來各取所長程序執行起來效率更高或者說哪種實現方式較簡單就用哪個,nodejs是利用子進程來調用系統命令或者文件,文檔見http://nodejs.org/api/child_process.html,NodeJS子進程提供了與系統交互的重要接口,其主要API有:標準輸入、標準輸出及標準錯誤輸出的接口。NodeJS子進程提供了與系統交互的重要接口,其主要API有:標準輸入、標準輸出及標準錯誤輸出的接口child.stdin獲
系統 2019-09-27 17:45:59 1965
Python中將數字格式化時,有些時候需要將數字格式化,為了顯示美觀,需要補零。今天在寫代碼時,看見別人的奇怪寫法,覺得有必要在這里把Python更好的寫法重寫一下。看到的別人的代碼foriinrange(99):num_str=str(i)iflen(num_str)>1:num_str='0'+str(i)print(num_str)看到這段代碼,我的三觀被刷新了。如果補零比較多,確實代碼的行數可觀。常見和不常見的格式化補零方法foriinrange(
系統 2019-09-27 17:45:59 1965
dic={'key1':'value1','key2':'value2'}一、增if'key3'notindic:dic['key3']='value3'二、刪deldic['key1']#刪除鍵是'Name'的條目dic.clear()#清空字典所有條目deldic#刪除字典三、改dic['key1']='value0'#更新四、查遍歷forkey,valueindic.items():print(key,value)#同時遍歷key,valuefori
系統 2019-09-27 17:45:50 1965
環境:編輯工具:瀏覽器:有問題可以聯系qq:1776376537#coding:utf-8fromcommon.baseimportBasefromseleniumimportwebdriverfromselenium.webdriver.common.action_chainsimportActionChainsfromselenium.webdriver.support.selectimportSelect#打開火狐瀏覽器driver=webdrive
系統 2019-09-27 17:45:33 1965
今天來討論一下裝飾器。裝飾器是一個很著名的設計模式,經常被用于有切面需求的場景,較為經典的有插入日志、性能測試、事務處理等。裝飾器是解決這類問題的絕佳設計,有了裝飾器,我們就可以抽離出大量函數中與函數功能本身無關的雷同代碼并繼續重用。概括的講,裝飾器的作用就是為已經存在的對象添加額外的功能。1.裝飾器入門1.1.需求是怎么來的?裝飾器的定義很是抽象,我們來看一個小例子。復制代碼代碼如下:deffoo():print'infoo()'foo()這是一個很無聊
系統 2019-09-27 17:45:33 1965
1.能調用方法的一定是對象,比如數值、字符串、列表、元組、字典,甚至文件也是對象,Python中一切皆為對象。str1='hello'str2='world'str3=''.join([str1,str2])print(str3)2.三種基本的文件操作模式:r(only-read)、w(only-write)、a(append)對文件進行操作的流程:第一,建立文件對象。第二,調用文件方法進行操作。第三,不要忘了關閉文件。(文件不關閉的情況下,內容會放在緩存
系統 2019-09-27 17:38:34 1965
核心代碼:#!/usr/bin/python#-*-coding:gbk-*-#設置源文件輸出格式importsysimportgetoptimportjsonimportcreateDictimportmyConToXMLimportmyConToTabledefgetRsDataToDict():#獲取控制臺中輸入的參數,并根據參數找到源文件獲取源數據csDict={}try:#通過getopt獲取參數opts,args=getopt.getopt(s
系統 2019-09-27 17:38:33 1965