Time of Update: 2016-06-16
第一段代碼:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-import emailimport mimetypesfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEImage import MIMEImageimport smtplibdef sendEmail(authInfo, fromAdd,
Time of Update: 2016-06-16
前提:安裝xhtml2pdf https://pypi.python.org/pypi/xhtml2pdf/下載字型:微軟雅黑;給個地址:http://www.jb51.net/fonts/8481.html待轉換的檔案:1.htm複製代碼 代碼如下:文字123圖片html_to_pdf.py程式複製代碼 代碼如下:# -*- coding: utf-8 -*- import sx.pisa3 as pisa data= open('1.htm').read()result =
Time of Update: 2016-06-16
同C語言、Java一樣,Python中也存在條件選擇和迴圈語句,其風格和C語言、java的很類似,但是在寫法和用法上還是有一些區別。今天就讓我們一起來瞭解一下。 一.條件選擇語句 Python中條件選擇語句的關鍵字為:if 、elif 、else這三個。其基本形式如下: 複製代碼 代碼如下: if condition: block elif condition: block ... else block
Time of Update: 2016-06-16
複製代碼 代碼如下:#!/usr/bin/python#coding=gbkclass User: def __init__(self,username,password,age,sex): self.username=username self.password=password self.age=age self.sex=sex def tell(self): print 'UserContext:Name:%
Time of Update: 2016-06-16
如何在安裝setuptools模組時不產生egg壓縮包而是源碼 Q:如何在安裝setuptools模組時不產生egg壓縮包而是源碼,這樣有時可以修改代碼進行調試 A:其實很簡單,就在setup.py中的setup函數中增加 zip_safe=False, 參數即可。 這樣安裝後的東西不再是一個egg檔案了,而是象以前一樣的目錄結構。 如何判斷一個字串只包含數字字元 這是在 Python.list 郵件清單上看到的討論 Q:如何判斷一個字串只包含數字字元
Time of Update: 2016-06-16
複製代碼 代碼如下:import wx import imagesclass DemoTaskBarIcon(wx.TaskBarIcon): TBMENU_RESTORE = wx.NewId() TBMENU_CLOSE = wx.NewId() TBMENU_CHANGE = wx.NewId() TBMENU_REMOVE = wx.NewId() def __init__(self, frame): wx.TaskBarIcon.__
Time of Update: 2016-06-16
儘管str(),repr()和``運算在特性和功能方面都非常相似,事實上repr()和``做的是完全一樣的事情,它們返回的是一個對象的“官方”字串表示,也就是說絕大多數情況下可以通過求值運算(使用內建函數eval())重新得到該對象,但str()則有所不同。str()致力於產生一個對象的可讀性好的字串表示,它的返回結果通常無法用於eval()求值,但很適合用於print語句輸出。需要再次提醒的是,並不是所有repr()返回的字串都能夠用 eval()內建函數得到原來的對象。 也就是說 repr(
Time of Update: 2016-06-16
1.re的簡介 使用python的re模組,儘管不能滿足所有複雜的匹配情況,但足夠在絕大多數情況下能夠有效地實現對複雜字串的分析並提取出相關資訊。python 會將Regex轉化為位元組碼,利用 C 語言的匹配引擎進行深度優先的匹配。 複製代碼 代碼如下: import re print re.__doc__ 可以查詢re模組的功能資訊,下面會結合幾個例子說明。 2.re的Regex文法 Regex文法表如下: 文法 意義 說明 "." 任一字元 "^" 字串開始
Time of Update: 2016-06-16
1. 列表可包含任何資料類型的元素,單個列表中的元素無須全為同一類型。 2. append() 方法向列表的尾部添加一個新的元素。只接受一個參數。3. extend()方法只接受一個列表作為參數,並將該參數的每個元素都添加到原有的列表中。append()用法樣本:>>> mylist = [1,2,0,'abc']>>> mylist[1, 2, 0, 'abc']>>> mylist.append(4)>>> mylist[1, 2, 0, 'abc', 4]>>>
Time of Update: 2016-06-16
安裝完python之後,我們可以做兩件事情,1.將安裝目錄中的Doc目錄下的python331.chm使用手冊複製到案頭上,方便學習和查閱2.將Python安裝路徑我的是C:\Python33\加入到系統變數中按win+R開啟啟動視窗輸入python斷行符號,如果你看到說明配置成功了。就可以正式開始python的編程之旅了,或者點開始按鈕找到python菜單 點擊Python(command
Time of Update: 2016-06-16
有三種方法,一是用微軟提供的擴充庫win32com來操作IE,二是用selenium的webdriver,三是用python內建的HTMLParser解析。win32com可以獲得類似js裡面的document對象,但貌似是唯讀(文檔都沒找到)。selenium則提供了Chrome,IE,FireFox等的支援,每種瀏覽器都有execute_script和find_element_by_xx方法,可以方便的執行js指令碼(包括修改元素)和讀取html裡面的元素。不足是selenium只提供對py
Time of Update: 2016-06-16
支援兩種用法:(1)合并某一檔案夾下的所有檔案(忽略檔案夾等非檔案條目)(2)顯示的合并多檔案。複製代碼 代碼如下:import sysimport os''' usage(1): merge_files pathname pathname is directory and merge files in pathname directory usage(2): merge_files file1 file2 [file3[...]]'''FILE_SLIM
Time of Update: 2016-06-16
lambda函數也叫匿名函數,即,函數沒有具體的名稱。先來看一個最簡單例子:複製代碼 代碼如下:def f(x):return x**2print f(4)Python中使用lambda的話,寫成這樣複製代碼 代碼如下:g = lambda x : x**2print g(4)lambda運算式在很多程式設計語言都有對應的實現。比如C#:複製代碼 代碼如下:var g = x =>
Time of Update: 2016-06-16
最近一直在準備用來面試的幾個小demo,為了能展現自己,所以都是親自設計並實現的,其中一個就是在50行代碼內來實現一個貪吃蛇,為了說明鄙人自己練習編程的一種方式--把代碼寫短,為了理解語言細節。 複製代碼 代碼如下: import sys, pygame from pygame.locals import * from random import randrange up =lambda x:(x[0]-1,x[1]) down = lambda x :(x[0]+1,x[1]) left =
Time of Update: 2016-06-16
文中用到了BeautifulSoup這個庫, 目的是處理html文件剖析的, 因為我只是提取了title的關鍵字,所以可以用Regex代替, 還有一個庫是jieba, 這個庫是中文分詞的作用, 再有一個庫是 chardet, 用來判斷字元的編碼, 本想多線程的, 但是自認為被搞糊塗了,就放棄了複製代碼 代碼如下:#coding:utf-8import reimport urllibimport urllib2import sysimport timeimport Queue import
Time of Update: 2016-06-16
沒有使用隊列,也沒有線程池還在學習只是多線程 複製代碼 代碼如下: #coding:utf8 import urllib2,sys,re import threading,os import time,datetime ''''' 這裡沒有使用隊列 只是採用多線程分發對代理量不大的網頁還行但是幾百幾千效能就很差了 ''' def get_proxy_page(url): '''''解析代理頁面 擷取所有Proxy 位址''' proxy_list = [] p = re.compile(r'''
Time of Update: 2016-06-16
例一:複製代碼 代碼如下:#!/usr/bin/pythonimport sysimport reif __name__=="__main__": f=file("hi.txt","w+") li=["hello\n","hi\n"] f.writelines(li) f.close() "W+"模式:如果沒有hi.txt則建立檔案寫入;如果存在,則清空hi.txt內容,從新寫入。 例二:修改檔案指定行
Time of Update: 2016-06-16
複製代碼 代碼如下:#!/bin/env python # -*- coding: utf-8 -*- #filename: peartest.py import threading, signal is_exit = False def doStress(i, cc): global is_exit idx = i while not is_exit: if (idx print "thread[%d]: idx=%d"%(i,
Time of Update: 2016-06-16
詞法分析(Lexical Analysis):分析由字元組成的單詞是否合法,如果沒有問題的話,則產生一個單詞流。 文法分析(Syntactic Analysis):分析由單片語成的句子是否合法,如果沒有問題的話,則產生一個文法樹。 在詞法分析器分析原始碼文本的時候,有一個概念需要明確: 1.物理行:由斷行符號字元序列(在Windows上是CR LF,在Unix上是LF)結尾的字元序列組成一個物理行。
Time of Update: 2016-06-16
Python 截取字串使用 變數[頭下標:尾下標],就可以截取相應的字串,其中下標是從0開始算起,可以是正數或負數,下標可以為空白表示取到頭或尾。複製代碼 代碼如下:# 例1:字串截取str = '12345678'print str[0:1]>> 1 # 輸出str位置0開始到位置1以前的字元print str[1:6] >> 23456 # 輸出str位置1開始到位置6以前的字元num = 18str = '0000' + str(num) # 合并字串print str[-5:]