Python進階應用程式執行個體對比:高效計算大檔案中的最長行的長度

前2種方法主要用到了列表解析,效能稍差,而最後一種使用的時候產生器運算式,相比列表解析,更省記憶體列表解析和產生器運算式很相似:列表解析[expr for iter_var in iterable if cond_expr]產生器運算式(expr for iter_var in iterable if cond_expr) 方法1:最原始 代碼如下:longest = 0f = open(FILE_PATH,"r")allLines = [line.strip() for line in

理解python多線程(python多線程簡明教程)

對於python 多線程的理解,我花了很長時間,搜尋的大部份文章都不夠通俗易懂。所以,這裡力圖用簡單的例子,讓你對多線程有個初步的認識。單線程  在好些年前的MS-DOS時代,作業系統處理問題都是單任務的,我想做聽音樂和看電影兩件事兒,那麼一定要先排一下順序。(好吧!我們不糾結在DOS時代是否有聽音樂和看影的應用。^_^) 代碼如下:from time import ctime,sleepdef music(): for i in range(2): print "I

35個Python編程小技巧

這篇部落格其實就是這個集合整理後一部分的公開亮相。如果你已經是個python大牛,那麼基本上你應該知道這裡面的大多數用法了,但我想你應該也能發現一些你不知道的新技巧。而如果你之前是一個c,c++,java的程式員,同時在學習python,或者乾脆就是一個剛剛學習編程的新手,那麼你應該會看到很多特別有用能讓你感到驚奇的實用技巧,就像我當初一樣。每一個技巧和語言用法都會在一個個執行個體中展示給大家,也不需要有其他的說明。我已經儘力把每個例子弄的通俗易懂,但是因為讀者對python的熟悉程度不同,仍然

python多線程抓取*子內容樣本

使用re, urllib, threading 多線程抓取天涯文章內容,設定url為需抓取的天涯文章的第一頁,設定file_name為下載後的檔案名稱 代碼如下:#coding:utf-8import urllibimport reimport threadingimport os, timeclass Down_Tianya(threading.Thread): """多線程下載""" def __init__(self, url, num, dt):

python產生隨機驗證碼(中文驗證碼)樣本

代碼如下:# -*- coding: utf-8 -*-import Image,ImageDraw,ImageFontimport randomimport math, string class RandomChar(): """用於隨機產生漢字""" @staticmethod def Unicode(): val = random.randint(0x4E00, 0x9FBF) return unichr(val) @staticmethod def GB231

python 動態擷取當前啟動並執行類名和函數名的方法

一、使用內建方法和修飾器方法擷取類名、函數名python中擷取函數名的情況分為內部、外部,從外部的情況好擷取,使用指向函數的對象,然後用__name__屬性 代碼如下:def a():passa.__name__除此之外還可以: 代碼如下:getattr(a,'__name__')儘管有些脫褲子放屁,總之,從外部擷取的方法是非常靈活的。有些同學需要從函數內部擷取函數本身的名字,就需要用些技巧了。1.使用sys模組的方法: 代碼如下:def a():print sys._getframe().f_

解決python寫的windows服務不能啟動的問題

報“服務沒有及時響應或控制請求”的錯誤,改用pyinstaller產生也是不行;查資料後修改setup.py如下即可,服務名、指令碼名請自行替換: 代碼如下:#!/usr/bin/python #-*-coding:cp936-*-from distutils.core import setupimport py2execlass Target: def __init__(self, **kw): self.__dict__.update(kw) # for

python網路編程之UDP通訊執行個體(含伺服器端、用戶端、UDP廣播例子)

UDP廣泛應用於需要相互傳輸資料的網路應用中,如QQ使用的就是UDP協議。在網路品質不好的情況下,使用UDP協議時丟包現象十分嚴重,但UDP佔用資源少,處理速度快,UDP依然是傳輸資料時常用的協議。下面是用python實現UDP伺服器的代碼: 代碼如下:#!/usr/bin/env pythonimport

python實現simhash演算法執行個體

Simhash的演算法簡單的來說就是,從海量文本中快速搜尋和已知simhash相差小於k位的simhash集合,這裡每個文本都可以用一個simhash值來代表,一個simhash有64bit,相似的文本,64bit也相似,論文中k的經驗值為3。該方法的缺點如優點一樣明顯,主要有兩點,對於短文本,k值很敏感;另一個是由於演算法是以空間換時間,系統記憶體吃不消。 代碼如下:#!/usr/bin/python# coding=utf-8class simhash: #建構函式 def __

python字串替換樣本

php5.2升級到5.3後,原& new的寫法已經被放棄了,可以直接new了,面對上百個php檔案,手動修改簡直是想要命,所以寫了個指令碼,分分鐘搞定。 代碼如下:#-*- coding:utf-8 -*- #!/usr/bin/python import os#定義程式根目錄rootpath='D:\\wamp\\www\\erp\\app'def m_replace(path): for item in os.listdir(path):

Python 時間操作例子和時間格式化參數小結

1.取過去具體時間的方法: 代碼如下:#!/usr/bin/python import time #取一天前的當前具體時間 time.strftime('%Y-%m-%d %T',time.localtime(time.time()-24*60*60)) #取15天前的當前具體時間 time.strftime('%Y-%m-%d %T',time.localtime(time.time()-15*24*60*60)) #取15天前當前具體時間的前2小時

Python設計模式之觀察者模式執行個體

關於設計模式中的觀察者模式,定義如下(維基百科):觀察者模式(有時又被稱為發布/訂閱模式)是軟體設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用來實作事件處理系統。簡單來說,一個被觀察者有很多觀察者,被觀察者的狀態的改變會引起所有觀察者的響應操作。那麼我們用Python2.7來實現觀察者模式。Python中的集合set集合(set),類似於列表(list),但是它沒有重複的元素

python實現360皮膚按鈕控制項樣本

代碼如下:#!/usr/bin/python #-*-coding:utf-8-*-from PyQt4.QtGui import *from PyQt4.QtCore import *from PyQt4.Qt import *class ChangeSkinWidget(QWidget): def __init__(self,parent = None): super(ChangeSkinWidget,self).__init__(parent) self.setFixedSize(1

python抓取網頁圖片樣本(python爬蟲)

代碼如下:#-*- encoding: utf-8 -*-'''Created on 2014-4-24@author: Leon Wong'''import urllib2import urllibimport reimport timeimport osimport uuid#擷取二級頁面urldef findUrl2(html): re1 = r'http://tuchong.com/\d+/\d+/|http://\w+(? url2list = re.findall(re1

python監控網卡流量並使用graphite繪圖的樣本

代碼如下:#!/usr/bin/env pythonimport sys,timefrom socket import socketdef read_interface(in_file): with file(in_file) as f: return f.readlines()[2:]def set_interface(inter_msg): dic={} for i in xrange(len(inter_msg)):

Python設計模式之代理模式執行個體

翻牆常用的方式就是使用代理(Proxy),其基本過程如下:瀏覽器Proxy 伺服器伺服器如果瀏覽器請求不到伺服器,或者伺服器無法響應瀏覽器,我們可以設定將瀏覽器的請求傳遞給Proxy 伺服器,Proxy 伺服器將請求轉寄給伺服器。然後,Proxy 伺服器將伺服器的響應內容傳遞給瀏覽器。當然,Proxy 伺服器在得到請求或者響應內容的時候,本身也可以做些處理,例如緩衝靜態內容以加速,或者說提取請求內容或者響應內容做些正當或者不正當的分析。這種翻牆方式,就是設計模式中代理模式(Proxy

python發布模組的步驟分享

1.為模組nester建立檔案夾nester,其中包含:nester.py(模組檔案): 代碼如下:"""這是"nester.py"模組,提供了一個名為print_lol()函數, 函數作用是列印列表,氣質包含嵌套列表"""def print_lol(the_list): """這個函數取了一個位置參數,名為"the_list",可以是任何python列表 所指定的列表中的每一個資料項目會遞迴地輸出到螢幕上,各資料項目佔一行""" for each_item in

python和pyqt實現360的CLable控制項

代碼如下: #!/usr/bin/python #-*-coding:utf-8-*-from PyQt4.QtGui import *from PyQt4.QtCore import *from PyQt4.Qt import *class CLabel(QWidget): signalLabelPress = pyqtSignal() def __init__(self,parent = None): super(CLabel,self).__init__(parent)

python實現網頁連結提取的方法分享

代碼如下:#encoding:utf-8import socketimport htmllib,formatterdef open_socket(host,servname): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) port=socket.getservbyname(servname) s.connect((host,port)) return

python串連mysql並提交mysql事務樣本

代碼如下:# -*- coding: utf-8 -*-import sysimport MySQLdbreload(sys)sys.setdefaultencoding('utf-8')class DB(object): def __init__(self,host='127.0.0.1',port=3306,user='root',passwd='123',database=''): self.__host=host self.__port=port self.__user=user

總頁數: 2974 1 .... 2479 2480 2481 2482 2483 .... 2974 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.