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 import os import sys import re import urllib URL_REG = re.compile(r'(http://[^///]+)', re.I) IMG_REG = re.compile(r'<img[^>]*?src=([/'"])([^/1]*?)/1', re.I) def download(dir, url): '''下載網頁中的圖片 @dir 儲存到本地的路徑 @url 網頁url ''
Time of Update: 2017-01-18
相比於time模組,datetime模組的介面則更直觀、更容易調用。今天就來講講datetime模組。 datetime模組定義了兩個常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(對於偶等玩家,這個範圍已經足夠用矣~~) datetime模組定義了下面這幾個類: •datetime.date:表示日期的類。常用的屬性有year, month,
Time of Update: 2017-01-18
1)忘記在 if , elif , else , for , while , class ,def 聲明末尾添加 :(導致 “SyntaxError :invalid syntax”) 該錯誤將發生在類似如下代碼中: 複製代碼 代碼如下: if spam == 42 print('Hello!') 2)使用 = 而不是 ==(導致“SyntaxError: invalid syntax”) = 是賦值操作符而 == 是等於比較操作。該錯誤發生在如下代碼中: 複製代碼 代碼如下: if
Time of Update: 2017-01-18
注意:本文基於Python2.4完成;如果看到不明白的詞彙請記得百度Google或維基,whatever。 1. Regex基礎 1.1. 簡單介紹
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/usr/bin/python#coding=gbkclass User: def __init__(self,username,password,age,sex): self.username=username self.password=password &
Time of Update: 2017-01-18
在編程過程中,多瞭解語言周邊的一些知識,以及一些技巧,可以讓你加速成為一個優秀的程式員。對於Python程式員,你需要注意一下本文所提到的這些事情。你也可以看看Zen of Python(Python之禪),這裡面提到了一些注意事項,並配以樣本,可以協助你快速提高。1. 漂亮勝於醜陋實現一個功能:讀取一列資料,只返回偶數併除以2。下面的代碼,哪個更好一些呢?複製代碼 代碼如下:#----------------------------------------halve_evens_only =
Time of Update: 2017-01-18
問題:尋找一些英文詞在哪些小句中出現了,當然是用python來實現,當然是用字典,但是怎麼讓一個key對應一個 類型為列表的value,直接用列表的append()是不行的,比如dic[key].append(value),因為解譯器並不知道 dic[key]的類型,當時趕時間,用了一個折衷的方案,就是先用value連成一個str,最後用str.split()作一個轉換,產生一個列表. 看了python
Time of Update: 2017-01-18
複製代碼 代碼如下:# -*- coding: utf-8 -*-# 測試各種排序演算法# link:www.jb51.net# date:2013/2/2#選擇排序def select_sort(sort_array): for i, elem in enumerate(sort_array): for j, elem in enumerate(sort_array[i:])
Time of Update: 2017-01-18
第一種:複製代碼 代碼如下: import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24])
Time of Update: 2017-01-18
python複製代碼 代碼如下:def fn(num): ''' 把數字口語化 ''' ret = '' num = int(num) if num/10000 == 0: ret =
Time of Update: 2017-01-18
ah!其實沒有標題說的那麼嚴重!不過下面可是我們開發產品初期的一些血淋淋的案例,更多的安全威脅可以看看北北同學的《python
Time of Update: 2017-01-18
安裝完CentOS5.9(Final)後,執行#Python與#python -V,看到版本號碼是2.4.3,很老了,而且之前寫的都是跑在python3.X上面的,3.X和2.X有很多不同,有興趣的朋友可以參考下這篇文章: http://www.jb51.net/article/34011.htm更新python千萬不要把老版本的刪除!新老版本是可以共存的,很多基本的命令、軟體包都要依賴預裝的老版本python的,比如yum。 更新python:
Time of Update: 2017-01-18
複製代碼 代碼如下:import random, stringclass C(object): passdef dangerFunction(msg, l = [], b = {}, c = C()): print msg, '-'*10 print l, b, c.__dict__ l.append(1)
Time of Update: 2017-01-18
問題:windows環境下建立或編輯文字檔,儲存時會在頭部加上BOM。使用ftp上傳到linux下,在執行時第一行即報錯。以下方法可以去除BOM頭,有需要的朋友可以參考下。複製代碼 代碼如下:import codecsdata = open("Test.txt").read()if data[:3] == codecs.BOM_UTF8: data = data[3:]print data.decode("utf-8")說明: 檔案開始部為 0xEF 0xBB 0xBF 為BOM
Time of Update: 2017-01-18
複製代碼 代碼如下:def Num2MoneyFormat( change_number ): """ .轉換數字為大寫貨幣格式( format_word.__len__() - 3 + 2位小數 ) change_number 支援 float, int, long, string """ format_word =
Time of Update: 2017-01-18
>>> a = 2.5>>> b = 2.5>>> c = b>>> a is cFalse>>> a = 2>>> b = 2>>> c = b>>> a is cTrue在使用is函數的時候去列印a,b分別被賦值為2.5 和2的情況,發現:>>> a = 2>>> b = 2>>> id(a)21
Time of Update: 2017-01-18
複製代碼 代碼如下:import urllib, httplib import utils import json class User: def __init__(self):
Time of Update: 2017-01-18
以前面試的時候會被問到,linux熟不熟呀?對於這種問題:我總會尷尬地回答,“額..瞭解一點”。