Time of Update: 2016-06-10
python具體強大的庫檔案,很多功能都有相應的庫檔案,所以很有必要進行學習一下,其中有一個ftp相應的庫檔案ftplib,我們只需要其中的登入功能,然後利用多線程調用相應字典裡面的欄位進行登入,還能根據自己的需要,根據自身的情況編寫需要的程式,讓程式代替我們去做一些枯燥的重複工作。下面直接上代碼,下面是主檔案複製代碼 代碼如下:import os import time import threadingclass mythread(threading.Thread): def __init__
Time of Update: 2016-06-10
本文執行個體講述了python使用any判斷一個對象是否為空白的方法。分享給大家供大家參考。具體實現代碼如下:複製代碼 代碼如下:>>> eth = {"eth0″:"192.168.1.1″}>>> any(eth)True>>> eth = {}>>> any(eth)False判斷list是否為空白傳統的方式:複製代碼 代碼如下:if len(mylist): # Do something with my listelse: # The list is empty由於一個空
Time of Update: 2016-06-10
本文詳細歸納整理了Python中列表、字典、元組、集合資料結構。分享給大家供大家參考。具體分析如下:列表:複製代碼 代碼如下:shoplist = ['apple', 'mango', 'carrot', 'banana']字典:複製代碼 代碼如下:di = {'a':123,'b':'something'}集合:複製代碼 代碼如下:jihe = {'apple','pear','apple'}元組:複製代碼 代碼如下:t =
Time of Update: 2016-06-10
queue和pipe的區別: pipe用來在兩個處理序間通訊。queue用來在多個進程間實現通訊。 此兩種方法為所有系統多進程通訊的基本方法,幾乎所有的語言都支援此兩種方法。1)Queue & JoinableQueuequeue用來在進程間傳遞訊息,任何可以pickle-able的對象都可以在加入到queue。multiprocessing.JoinableQueue 是
Time of Update: 2016-06-10
本文執行個體講述了python通過zlib實現壓縮與解壓字串的方法。分享給大家供大家參考。具體實現方法如下:使用zlib.compress可以壓縮字串。使用zlib.decompress可以解壓字串。如下複製代碼 代碼如下:#coding=utf-8import zlibs = "hello word, 00000000000000000000000000000000"print len(s)c = zlib.compress(s)print len(c)d =
Time of Update: 2016-06-10
一、多線程同步由於CPython的python解譯器在單線程模式下執行,所以導致python的多線程在很多的時候並不能很好地發揮多核cpu的資源。大部分情況都推薦使用多進程。python的多線程的同步與其他語言基本相同,主要包含:Lock & RLock :用來確保多線程多共用資源的訪問。Semaphore : 用來確保一定資源多線程訪問時的上限,例如資源集區。 Event : 是最簡單的線程間通訊的方式,一個線程可以發送訊號,其他的線程接收到訊號後執行操作。 二、執行個體1)Lock &
Time of Update: 2016-06-10
本文執行個體講述了python統計一個文本中重複行數的方法。分享給大家供大家參考。具體實現方法如下:比如有下面一個檔案2312我們期望得到2,23,11,1解決問題的思路:出現的文本作為key, 出現的數目作為value,然後按照value排除後輸出最好按照value從大到小輸出出來,可以參照:複製代碼 代碼如下:in recent Python 2.7, we have new OrderedDict type, which remembers the order in which the
Time of Update: 2016-06-10
本文執行個體講述了python中urllib模組用法。分享給大家供大家參考。具體分析如下:一、問題:近期公司項目的需求是根據客戶提供的api,我們定時去擷取資料, 之前的方案是用php收集任務存入到redis隊列,然後在linux下做一個常駐進程跑某一個php檔案, 該php檔案就一個無限迴圈,判斷redis隊列,有就執行,沒有就break.二、解決方案:最近剛好學了一下python, python的urllib模組或許比php的curl更快,而且簡單. 貼一下代碼複製代碼 代碼如下:#_*_
Time of Update: 2016-06-10
一、python多線程因為CPython的實現使用了Global Interpereter
Time of Update: 2016-06-10
本文執行個體講述了Python提示[Errno 32]Broken pipe導致線程crash錯誤解決方案。分享給大家供大家參考。具體方法如下:1. 錯誤現象ThreadingHTTPServer 實現的 http 服務,如果用戶端在伺服器返回前,主動中斷連線,則伺服器端會報 [Errno 32] Broken pipe 錯,並導致處理線程 crash.下面先看個例子,python 版本: 2.7範例程式碼 代碼如下:#!/usr/bin/env python#!coding=utf-8
Time of Update: 2016-06-10
下載8000首兒歌的python的代碼:複製代碼 代碼如下:#-*- coding: UTF-8 -*-from pyquery import PyQuery as pyfrom lxml import etreeimport urllibimport reimport osimport sysimport loggingdef format(filename): tuple=(' ',''','\'') for char in tuple: if (filename.
Time of Update: 2016-06-10
本文執行個體講述了python連接埠掃描系統實現方法。分享給大家供大家參考。具體實現方法如下:該程式的主要功能如下:1. 從自有API介面擷取所有的外網IP段;2. 用Nmap 遍曆掃描所有的IP段,-oX 產生XML的掃描報告;3.
Time of Update: 2016-06-10
經常會遇到下載的檔案或電子書,名字中間都包含了一些網址資訊,實際使用中由於名字太長不方便,下面的指令碼使用Regex來對目錄下的所有檔案重新命名:例如:修改前:[指令碼之家]Mac OS X for Unix Geeks[www.jb51.net].mobi修改後:Mac OS X for Unix Geeks.mobipython代碼如下:複製代碼 代碼如下:import osimport redef rename_dir(dir,regex,f): if not
Time of Update: 2016-06-10
python引用變數的順序: 當前範圍局部變數->外層範圍變數->當前模組中的全域變數->python內建變數一、globalglobal關鍵字用來在函數或其他局部範圍中使用全域變數。但是如果不修改全域變數也可以不使用global關鍵字。複製代碼 代碼如下:gcount = 0def global_test(): print (gcount) def global_counter(): global gcount gcount +=1 return gcount
Time of Update: 2016-06-10
Python list內建sort()方法用來排序,也可以用python內建的全域sorted()方法來對可迭代的序列排序產生新的序列。1)排序基礎簡單的升序排序是非常容易的。只需要調用sorted()方法。它返回一個新的list,新的list的元素基於小於運算子(__lt__)來排序。複製代碼 代碼如下:>>> sorted([5, 2, 3, 1, 4])[1, 2, 3, 4, 5]
Time of Update: 2016-06-10
本文執行個體講述了python有認證的加密解密實現方法。分享給大家供大家參考。具體實現方法如下:最近在做python的加解密工作,同時加完密的串能在php上能解出來,網上也找了一些靠譜的資料,剛好也有時間我就總結了一下python在加密與解密這塊的代碼,今後可能還能用的上。相對於php而言python這塊加解密組件較多的,分別是:python-crypto - 這個組件是基本組件,使用的函式相對比較複雜。ezPyCrypto - 相對簡單,但他作出來的公私密金鑰無法與其他程式相相容
Time of Update: 2016-06-10
使用os.environ來讀取和修改環境變數:複製代碼 代碼如下:import osprint (os.environ["TEMP"])mydir = "c:\\mydir"os.environ["MYDIR"] = mydirprint (os.environ["MYDIR"])pathV = os.environ["PATH"]print (pathV)os.environ["PATH"]= mydir + ";" + os.environ["PATH"]print (os.environ[
Time of Update: 2016-06-10
獲得當前機器的名字:複製代碼 代碼如下:def hostname(): sys = os.name if sys == 'nt': hostname = os.getenv('computername') return hostname elif sys == 'posix': host = os.popen('echo
Time of Update: 2016-06-10
subprocess.Popen用來建立子進程。1)Popen啟動新的進程與父進程並存執行,預設父進程不等待新進程結束。複製代碼 代碼如下:def TestPopen(): import subprocess p=subprocess.Popen("dir",shell=True) for i in range(250) : print ("other
Time of Update: 2016-06-10
代碼: (使用os.listdir) 複製代碼 代碼如下:import osdef ListFilesToTxt(dir,file,wildcard,recursion): exts = wildcard.split(" ") files = os.listdir(dir) for name in files: fullname=os.path.join(dir,name) if(os.path.isdir(fullname) &