Time of Update: 2017-01-18
1)Regex的使用。 複製代碼 代碼如下: #Regex的模組 import re #Regex rePattern = '.*[0-9]{4}' pattern = re.compile(rePattern) #匹配 if pattern.match(line): return True else: return False 2)在函數中使用全域變數。 複製代碼 代碼如下: def func(): global num
Time of Update: 2017-01-18
爬蟲簡單說來包括兩個步驟:獲得網頁文本、過濾得到資料。 1、獲得html文本。 python在擷取html方面十分方便,寥寥數行代碼就可以實現我們需要的功能。 複製代碼 代碼如下: def getHtml(url): page = urllib.urlopen(url) html = page.read() page.close() return html 這麼幾行代碼相信不用注釋都能大概知道它的意思。
Time of Update: 2017-01-18
複製代碼 代碼如下:# _*_ coding:utf-8 _*_# name login_baidu.pyimport urllib,urllib2,httplib,cookielibdef auto_login_hi(url,name,pwd): url_hi="http://passport.baidu.com/?login" #設定cookie
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: cp936 -*-from email.Header import Headerfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIMEMultipartimport smtplib, datetime#建立一個帶附件的執行個體msg = MIMEMultipart()#構造附件att = MIMEText(open('f:\\檔案名稱.doc',
Time of Update: 2017-01-18
複製代碼 代碼如下:# _*_ coding:utf-8 _*_# name gefile.pyimport osimport statimport socketimport
Time of Update: 2017-01-18
str='python String function'產生字串變數str='python String function'字串長度擷取:len(str)例:print '%s length=%d' % (str,len(str))字母處理全部大寫:str.upper()全部小寫:str.lower()大小寫互換:str.swapcase()首字母大寫,其餘小寫:str.capitalize()首字母大寫:str.title()print '%s lower=%s' %
Time of Update: 2017-01-18
首先,來看每次處理一個字元的情況,可以有如下方法去實現:方法一:複製代碼 代碼如下: >>> a='1234567' >>> list(a) ['1', '2', '3', '4', '5', '6', '7'] >>>方法二:複製代碼 代碼如下: >>
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: UTF-8 -*- from __future__ import unicode_literalsimport Imageimport datetimeimport win32gui,win32con,win32apiimport refrom HttpWrapper import SendRequestStoreFolder = "c:\\dayImage"def
Time of Update: 2017-01-18
詳見代碼如下: 複製代碼 代碼如下: import threading import time import os import subprocess def get_process_count(imagename): p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename) return p.read().count(imagename) def timer_start(): t =
Time of Update: 2017-01-18
複製代碼 代碼如下:__author__ = 'clownfish'#coding:utf-8import urllib2,urllib,cookielib,jsonusername = "快盤使用者名稱"password = "快盤密碼"class sign(object): username = '' password = '' #登入顯示頁面
Time of Update: 2017-01-18
下面我挑選出的這幾個技巧常常會被人們忽略,但它們在日常編程中能真正的給我們帶來不少協助。 1. 字典推導(Dictionary comprehensions)和集合推導(Set comprehensions) 大多數的Python程式員都知道且使用過列表推導(list comprehensions)。如果你對list comprehensions概念不是很熟悉——一個list comprehension就是一個更簡短、簡潔的建立一個list的方法。 >>> some_list
Time of Update: 2017-01-18
使用Python內建函數:bin()、oct()、int()、hex()可實現進位轉換。 先看Python官方文檔中對這幾個內建函數的描述: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns
Time of Update: 2017-01-18
>>> a = 2.5 >>> b = 2.5 >>> c = b >>> a is c False >>> a = 2 >>> b = 2 >>> c = b >>> a is c True 今天在使用is函數的時候去列印a,b分別被賦值為2.5 和2的情況,發現: >>> a = 2 >>> b = 2 >&
Time of Update: 2017-01-18
先上指令碼吧,等下來講下知識點: 複製代碼 代碼如下: #!/usr/bin/env python #encoding=utf-8 import sys import re import urllib2 import urllib import cookielib class Renren(object): def __init__(self): self.name = self.pwd = self.content = self.domain = self.origURL = '' self.
Time of Update: 2017-01-18
python可以方便地支援多線程。可以快速建立線程、互斥鎖、訊號量等等元素,支援線程讀寫同步互斥。美中不足的是,python的運行在python 虛擬機器上,建立的多線程可能是虛擬線程,需要由python虛擬機器來輪詢調度,這大大降低了python多線程的可用性。我們經今天用了經典的生產者和消費者的問題來說明下python的多線程的運用 上代碼: #encoding=utf-8 import threading import random import time from Queue
Time of Update: 2017-01-18
一、Python中的線程使用: Python中使用線程有兩種方式:函數或者用類來封裝線程對象。 1、 函數式:調用thread模組中的start_new_thread()函數來產生新線程。如下例: 複製代碼 代碼如下: import time import thread def timer(no, interval): cnt = 0 while cnt<10: print 'Thread:(%d) Time:%s\n'%(no, time.ctime())
Time of Update: 2017-01-18
需求分析: 省油寶使用者數 已經破了6000,原有的靜態報表 已經變得臃腫不堪, 每次開啟都要緩上半天,甚至瀏覽器直接掛掉 採用python搭建一個最最簡易的 web 服務 請求一個nick 就返回 對應的 報表資料 參數用GET方式傳送調研與實現: 園裡沒找到靠譜的,google了半天,最終還是成功了。 以下是源碼,裡面記錄了 其中的 一些問題 複製代碼 代碼如下: #! /usr/bin/env python # -*- coding: utf-8 -*- """ @author:
Time of Update: 2017-01-18
主題: 為什麼要有方法呢? 回答居然是:懶惰是一種美德 方法的定義關鍵詞: def 用callable來判斷是否是可調用: 複製代碼 代碼如下: x = 1 y = math.sqrt callable(x) #False callable(y) #True 關於方法的傳回值: 複製代碼 代碼如下: def hello(name): return 'Hello, ' + name + '!' 有一個演算法的實現:前面兩個數的和是後面的數 複製代碼 代碼如下: fibs = [0, 1]
Time of Update: 2017-01-18
繼續List: 刪除元素: 複製代碼 代碼如下: a =[1, 2, 3, 4] a[2:3] = [] #[1, 2, 4] del a[2] #[1, 2] 清空list 複製代碼 代碼如下: a[ : ] = [] del a[:] list作為棧使用(後入先出): 複製代碼 代碼如下: stack = [3, 4, 5] stack.append(6) stack.append(7) stack.pop() # 7 stack.pop() # 6 stack.pop() # 5
Time of Update: 2017-01-18
以前面試的時候會被問到,linux熟不熟呀?對於這種問題:我總會尷尬地回答,“額..瞭解一點”。