Time of Update: 2016-06-06
本文執行個體講述了python使用自訂user-agent抓取網頁的方法。分享給大家供大家參考。具體如下:下面python代碼通過urllib2抓取指定的url的內容,並且使用自訂的user-agent,可防止網站屏蔽採集器import urllib2req = urllib2.Request('http://192.168.1.2/')req.add_header('User-agent', 'Mozilla 5.10')res = urllib2.urlopen(req)html =
Time of Update: 2016-06-06
1 動機greenlet 包是 Stackless 的副產品,其將微線程稱為 “tasklet” 。tasklet運行在偽並發中,使用channel進行同步資料交換。一個”greenlet”,是一個更加原始的微線程的概念,但是沒有調度,或者叫做協程。這在你需要控制你的代碼時很有用。你可以自己構造微線程的 調度器;也可以使用”greenlet”實現進階的控制流程。例如可以重新建立構造器;不同於Python的構造器,我們的構造器可以嵌套的調用函數,而被 嵌套的函數也可以 yield
Time of Update: 2016-06-06
項目開始時是一個關鍵時刻,選擇會對項目產生長期的影響。有很多關於如何開始使用Django架構的教程,但很少討論如何專業地使用Django,或如何使用行業公認的最佳做法來確保你的項目規模的持續增長。事前的籌劃讓你(和所有同事的生活)在走向將來時更容易。文章結束時,你將有 一個全功能的Django 1.6項目 原始碼受控的所有資源(使用Git或Mercurial) 自動迴歸和單元測試(使用unittest庫)
Time of Update: 2016-06-06
Protocol Buffers (類似XML的一種資料描述語言 (Data Description Language))最新版本2.3裡,protoc—py_out命令只產生原生的Python代碼。 儘管PB(Protocol
Time of Update: 2016-06-06
在較早的一遍文章中,我曾經提到過我已經寫了一個屬於自己的排序演算法,並且認為需要通過一些代碼來重新回顧一下這個排序演算法。對於我所完成的工作,我核實並且保證微處理器的安全。對非常複雜的CPU進行測試的一個方法就是建立該晶片的另一個模型,其可以用來產生在CPU上啟動並執行偽隨機指令流。這所謂的ISG(指令流產生器)能夠在很短的時間內建立幾千(甚至幾百萬)個這樣的測試,通過某種方式,使其可以巧妙地給出一些對將在CPU上執行的指令流的控制或操縱。現在對這些指令流進行類比,可以通過每一個測試執行個體花費
Time of Update: 2016-06-06
π是一個無數人追隨的真正的神奇數字。我不是很清楚一個永遠重複的無理數的迷人之處。在我看來,我樂於計算π,也就是計算π的值。因為π是一個無理數,它是無限的。這就意味著任何對π的計算都僅僅是個近似值。如果你計算100位,我可以計算101位並且更精確。迄今為止,有些人已經選拔出超級電腦來試圖計算最精確的π。一些極值包括 計算π的5億位。你甚至能從網上找到包含
Time of Update: 2016-06-06
Python裝飾器是一個消除冗餘的強大工具。隨著將功能模組化為大小合適的方法,即使是最複雜的工作流程,裝飾器也能使它變成簡潔的功能。例如讓我們看看Django web架構,該架構處理請求的方法接收一個方法對象,返回一個響應對象: def handle_request(request): return HttpResponse("Hello, World")我最近遇到一個案例,需要編寫幾個滿足下述條件的api方法: 返回json響應
Time of Update: 2016-06-06
我完成了更新我們在 Neutron的即時收入統計。在我花了一周的時間完成並且更新了我們的PHP指令碼之後,我最終認決定開始使用Python進行抓取,這是值得我去花費我的時間和精力的事情。我建立了一個 Django程式,它可以從不同的來源儲存收入統計,我可以用這些去簡曆視圖和用於統計工具的API。所以在過去的幾天裡,我寫了一個指令碼,它可以登入到其他的網頁並抓取資料,或者,如果這些網頁有 API,可以直接存取 API。我發現了一些事情。1.requests
Time of Update: 2016-06-06
對我當前工程進行全部測試需要花費不少時間。既然有 26 GB 空閑記憶體,為何不讓其發揮餘熱呢? tmpfs 可以通過把檔案系統儲存在大記憶體中來加速測試的執行效率。但優點也是缺點,tmpfs
Time of Update: 2016-06-06
本文執行個體講述了python字典get()方法用法。分享給大家供大家參考。具體分析如下:如果我們需要擷取字典值的話,我們有兩種方法,一個是通過dict['key'],另外一個就是dict.get()方法。這裡給大家分享的就是字典的get()方法。這裡我們可以用字典做一個小遊戲,假設使用者在終端輸入字串:"1"或者是"2"或者是"3",返回對應的內容,如果是輸入其他的,則返回"error">>> info = {'1':'first','2':'second','3':'third'}>>>
Time of Update: 2016-06-06
說到png圖片壓縮,可能很多人知道TinyPNG這個網站。但PS外掛程式要錢(雖然有破解的),Developer API要連到他伺服器去,不提網路傳輸速度,Key也是有每月限制的。 但是貌似tinyPNG是使用了來自於 pngquant 的技術,至少在 http://pngquant.org/ 中是如此聲稱的:TinyPNG and Kraken.io — on-line interfaces for
Time of Update: 2016-06-06
join 方法:阻塞線程 , 直到該線程執行完畢因此 ,可以對join加一個逾時操作 , join([timeout]),超過設定時間,就不再阻塞線程jion加上還有一個後果就是, 子線程和主線程綁定在一起 , 直到子線程運行完畢,才開始執行子線程。代碼 有join:在CODE上查看代碼片派生到My Code片 #-*- coding: UTF-8 -*- import threading from time import sleep def fun():
Time of Update: 2016-06-06
訊號的概念訊號(signal)-- 進程之間通訊的方式,是一種軟體中斷。一個進程一旦接收到訊號就會打斷原來的程式執行流程來處理訊號。幾個常用訊號:SIGINT 終止進程 中斷進程 (control+c)SIGTERM 終止進程 軟體終止訊號SIGKILL 終止進程 殺死進程SIGALRM 鬧鐘訊號進程結束訊號
Time of Update: 2016-06-06
概述考慮這樣一個問題,有hello.py指令碼,輸出”hello, world!”;有TestInput.py指令碼,等待使用者輸入,然後列印使用者輸入的資料。那麼,怎麼樣把hello.py輸出內容發送給TestInput.py,最後TestInput.py列印接收到的”hello, world!”。下面我來逐步講解一下shell的互動方式。hello.py代碼如下:#!/usr/bin/pythonprint "hello,
Time of Update: 2016-06-06
慚愧啊,今天寫了個尋找子串的Python程式被BS了…如果讓你寫一個程式檢查字串s2中是不是包含有s1。也許你會很直觀的寫下下面的代碼: 代碼如下:#determine whether s1 is a substring of s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] == s1[0]:
Time of Update: 2016-06-06
舉幾個例子來介紹一下,Python 的 CSV模組的使用方法,包括,reader, writer, DictReader, DictWriter.register_dialect一直非常喜歡python的csv模組,簡單易用,經常在項目中使用,現在舉幾個例子說明一下。 代碼如下:reader(csvfile[, dialect='excel'][, fmtparam])參數表:csvfile
Time of Update: 2016-06-06
#! -*- coding:utf-8 -*- import string s = 'Yes! This is a string' print '原字串:' + s print '小寫:' + s.lower() print '大寫:' + s.upper() print '大小寫轉換:' + s.swapcase() print '首字母大寫:' + s.capitalize() print '每個單字首大寫:' + s.title()
Time of Update: 2016-06-06
從一個字串開始在CODE上查看代碼片派生到My Code片 >>>time_str='2008-08-08 08:08:08' 1.1.轉換為struct_time形式的時間 在CODE上查看代碼片派生到My Code片 >>struct = ime.strptime(time_str,'%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=8, tm_
Time of Update: 2016-06-06
Python裝飾器,分兩部分,一是裝飾器本身的定義,一是被裝飾器對象的定義。一、函數式裝飾器:裝飾器本身是一個函數。1.裝飾函數:被裝飾對象是一個函數[1]裝飾器無參數:a.被裝飾對象無參數: 代碼如下:>>> def test(func): def _test(): print 'Call the function %s().'%func.func_name return func() return _test>>> @testdef
Time of Update: 2016-06-06
有很多時候,我們會在python的運行過程中得到一些重要的變數,比如一個資料量很龐大的dict。而且,後面的某些程式也會用到這個dict,那麼我們就最好把它儲存到本地來,然後下次調用的時候,先讀取本地的檔案,匯入到字典類型中,調用即可。這樣就免去了重新學習這個字典的過程。那麼在python中如何把資料存放區到本地呢?我們用到的是python中的pickle模組。如下:import pickledata1 = {'a': [1, 2.0, 3, 4+6j], 'b': ('string',