Time of Update: 2016-06-06
代碼如下:#!/usr/bin/python3.2import os,socketimport urllibimport urllib.request,threading,timeimport re,sysglobal manhuaweb,weburl,floder,chapterbegin,currentthreadnum,threadcount,mutex,mutex2weburl=''floder=''chapterbegin=0currentthreadnum=0threadcount=
Time of Update: 2016-06-06
Python基本內建資料類型有哪些一些基礎資料型別 (Elementary Data
Time of Update: 2016-06-06
代碼如下:#!/usr/bin/python# encoding=utf-8# Filename: send_email.pyfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText import smtplib class SendEmail: # 建構函式:初始化基本資料 def __init_
Time of Update: 2016-06-06
面對對象(oop)中的對象,是一個非常重要的知識點,我們可以把它簡單看做是資料以及由存取、操作這些資料的方法所組成的一個集合。我們在學習函數(function)之後,知道了如果重用代碼,那為什麼還要用類來取代函數呢?類有這樣一些的優點1)
Time of Update: 2016-06-06
代碼如下:#!/usr/bin/python#coding:utf-8#write:JACK#info:ftp exampleimport ftplib, socket, osfrom time import sleep, ctimedef LoginFtp(self): ftps = ftplib.FTP() ftps.connect(self.host,self.port)
Time of Update: 2016-06-06
編寫tasks.py 代碼如下:from celery import Celeryfrom tornado.httpclient import HTTPClientapp = Celery('tasks')app.config_from_object('celeryconfig')@app.taskdef get_html(url): http_client = HTTPClient() try: response =
Time of Update: 2016-06-06
代碼如下:import timedef block(file,size=65536): while True: nb = file.read(size) if not nb: break yield nbdef getLineCount(filename): with open(filename,"r",encoding="utf-8") as f: return sum(line.count("\n")
Time of Update: 2016-06-06
mdb格式檔案可以通過mdbtools工具將內中包含的每張表匯出到csv格式檔案。由於access資料庫和postgresQL資料庫格式上會存在不通性,所以使用python的檔案處理,將所得csv檔案修改成正確、能識別的格式。匯入指令碼說明(此指令碼運行於linux):1.apt-get install mdbtools,安裝mdbtools工具2.將mdb 檔案拷貝到linux虛擬機器中,修改指令碼中mdb檔案目錄‘dir'3.修改伺服器及資料庫配置4.執行指令碼 代碼如下:# -*-
Time of Update: 2016-06-06
測試組態檔案test.conf內容如下: 代碼如下:[first]w = 2v: 3c =11-3[second]sw=4test: hello測試組態檔案中有兩個地區,first和second,另外故意添加一些空格、換行。下面解析: 代碼如下:>>> import ConfigParser>>> conf=ConfigParser.ConfigParser()>>> conf.read('test.conf')['test.conf']>>> conf.sections()
Time of Update: 2016-06-06
基數排序法又稱桶子法(bucket sort)或bin sort,顧名思義,它是透過索引值的部份資訊,將要排序的元素分配至某些"桶"中,藉以達到排序的作用,基數排序法是屬於穩定性的排序,其時間複雜度為O (nlog(r)m),其中r為所採取的基數,而m為堆數,在某些時候,基數排序法的效率高於其它的比較性排序法。 代碼如下:# -*- coding: utf-8 -*-def _counting_sort(A, i): """計數排序,以i位進行排序,以適用於基數排序。 Args:
Time of Update: 2016-06-06
ipad的goodreader對JS檔案支援不太好,雖然可以讀取它但總是無法退出,回不了goodreader的主介面,因此我需要把js檔案批量變成純文字。基於這個目的,我搞了下面一個小應用: 代碼如下:# -*- coding:utf-8 -*-import osdef rename(): path = raw_input("請輸入要處理的檔案夾路徑") print path old_ext = "."+raw_input("請輸入要處理的檔案類型") print
Time of Update: 2016-06-06
代碼如下:from sgmllib import SGMLParserimport urllib2class sgm(SGMLParser): def reset(self): SGMLParser.reset(self) self.srcs=[] self.ISTRUE=True def start_div(self,artts): for k,v in artts: if v=="author":
Time of Update: 2016-06-06
Python 2.6中print不是函數,而是一個關鍵字,使用方式如下: 代碼如下:print 1, 2 print 'a', 'b' 顯示結果如下,用逗號分隔的各項之間會列印出一個空格,預設以換行結束: 代碼如下:1 2 a b若不想以換行結束,則在最後加一個“,”,如下所示: 代碼如下:print 1, 2, print 'a', 'b'顯示結果如下: 代碼如下:1 2 a b Python 3.0中print變成了一個內建函數
Time of Update: 2016-06-06
可以很輕鬆的在連接埠12345開啟共用,效果如下:要實現我想要的功能,只需要將連接埠重新導向就行了,代碼如下: 代碼如下:#! /usr/bin/python''' File : redirect.py Author : Mike'''import socket,osbufLen = 4*1024sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock1.bind(('192.168.168
Time of Update: 2016-06-06
在c語言中可以用system函數調用系統命令並得到輸出,通過輸出重新導向也可以將程式執行的輸出儲存到檔案以供使用,但用起來不是很方便。我這裡介紹下用python和go語言的實現方式,可以將其它程式的輸出直接儲存成變數供程式使用。下面的樣本用的是ls命名,需要安裝MinGW,並將“C:\MinGW\msys\1.0\bin”加入環境變數。一、用python調用其它程式,並得到輸出範例程式碼: 代碼如下:import osvar = os.popen('ls -l').read()print
Time of Update: 2016-06-06
一、函數介紹1.1 函數原型: 代碼如下:#include FILE *popen(const char *command,const char *open_mode);1.2 說明popen函數允許一個程式將另一個程式作為新進程啟動,並可以傳遞資料給它或者通過它接收資料。command字串是要啟動並執行程式名和相應參數(比如:ls或ls -l),openmode必須是 r
Time of Update: 2016-06-06
代碼如下:import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public static void main(String[] args) { try { System.out.println("start"); Process pr = Runtime.getRuntime().exec("python test.py"); BufferedReader in =
Time of Update: 2016-06-06
代碼如下:def sendmail(login={},mail={}): '''\ @param login login['user'] login['passwd'] @param mail mail['to_addr'] mail['subject'] mail['content'] mail['attach'] ''' from datetime import datetime from base64 import b64encode
Time of Update: 2016-06-06
仔細觀察下面兩個python程式,代碼一模一樣,但是啟動並執行結果卻不同,就是因為最後一行return縮排的不同 代碼如下:def powersum(power, *args):'''Return the sum of each argument raised to specified power.'''total = 0for i in args:total += pow(i, power)return total運行時輸入powersum(2,3,4)輸出25(3的平方加上4的平方)
Time of Update: 2016-06-06
利用python 寫一些網路服務的時候,當網路狀況不好,或者資源佔用過多,任務擁塞的情況下,總會拋出一些異常,當前任務就被終止了,可以很好的利用@裝飾器,寫一個重試的裝飾器,這樣比較python!執行結果: 代碼如下:WARNING:root:timed out, Retrying in 3 seconds...WARNING:root:timed out, Retrying in 6 seconds...WARNING:root:timed out, Retrying in 12