Time of Update: 2017-01-19
在Android軟體開發中,增加日誌的作用很重要,便於我們瞭解程式的執行情況和資料。Eclipse開發工具會提供了可視化的工具,但是還是感覺終端效率會高一些,於是自己寫了一個python的指令碼來通過包名來過濾某一程式的日誌。原理通過包名得到對應的進程ID(可能多個),然後使用adb logcat 過濾進程ID即可得到對應程式的日誌。源碼複製代碼 代碼如下:#!/usr/bin/env python#coding:utf-8#This script is aimed to grep logs
Time of Update: 2017-01-19
本文執行個體分析了Python中的對象,方法,類,執行個體,函數用法。分享給大家供大家參考。具體分析如下:Python是一個完全物件導向的語言。不僅執行個體是對象,類,函數,方法也都是對象。複製代碼 代碼如下:class Foo(object): static_attr = True def method(self): passfoo =
Time of Update: 2017-01-19
本文執行個體講述了Python轉換HTML到Text純文字的方法。分享給大家供大家參考。具體分析如下:今天項目需要將HTML轉換為純文字,去網上搜了一下,發現Python果然是神通廣大,無所不能,方法是五花八門。拿今天親自試的兩個方法舉例,以方便後人:方法一:1. 安裝nltk,可以去pipy裝(註:需要依賴以下包:numpy, PyYAML)2.測試代碼:複製代碼 代碼如下:>>> import nltk >>> aa = r''''' <
Time of Update: 2017-01-19
本文執行個體分析了python的私人屬性和方法。分享給大家供大家參考。具體實現方法如下:python預設的成員函數和成員變數都是公開的,並且沒有類似別的語言的public,private等關鍵詞來修飾。 在python中定義私人變數只需要在變數名或函數名前加上 "__"兩個底線,那麼這個函數或變數就會為私人的了。 在內部,python使用一種 name mangling 技術,將 __membername替換成
Time of Update: 2017-01-19
本文執行個體講述了python實現堆棧與隊列的方法。分享給大家供大家參考。具體分析如下:1、python實現堆棧,可先將Stack類寫入檔案stack.py,在其它程式檔案中使用from stack import Stack,然後就可以使用堆棧了。stack.py的程式:複製代碼 代碼如下:class Stack(): def __init__(self,size):
Time of Update: 2017-01-19
本文執行個體分析了Python中os.path用法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:#coding=utf-8import osprint os.path.abspath("d:\\new\\test.txt")print os.path.basename("d:\\new\\test.txt")print os.path.dirname("d:\\new\\test.txt")print os.path.exists("d:\\new")print
Time of Update: 2017-01-19
本文執行個體講述了python靜態方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:staticmethod Found at: __builtin__staticmethod(function) -> method Convert a function to be a static method. A
Time of Update: 2017-01-19
本文執行個體講述了python繼承和抽象類別的實現方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:#!/usr/local/bin/python# Fig 9.9: fig09_09.py# Creating a class hierarchy with an abstract base class. class Employee: """Abstract base class Employee"""
Time of Update: 2017-01-19
本文執行個體講述了python列表操作的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor"""
Time of Update: 2017-01-19
本文執行個體講述了python操作gmail的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:import imaplib, re class pygmail(object): def __init__(self):
Time of Update: 2017-01-19
本文執行個體講述了Python的物件導向思想。分享給大家供大家參考。具體分析如下:物件導向的基本思想是封裝,繼承,多態。首先是繼承:定義一個類:複製代碼 代碼如下:class Bird(object): have_feather = True way_of_reproduction = 'egg'調用這個類:複製代碼 代碼如下:summer = Bird() print
Time of Update: 2017-01-19
首先,你得下載SocksiPy這個.解壓出來之后里面會有一個socks.py檔案.然後你可以把這個檔案複製到python安裝目錄裡面的Lib\site-packages中.或者把這個檔案複製到程式所在的目錄中.然後就可以再程式中使用socket代理來編寫程式了.下面是範例程式碼import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",8088) socket.socket
Time of Update: 2017-01-19
本文執行個體講述了Python單例模式的使用方法。分享給大家供大家參考。具體如下:方法一複製代碼 代碼如下:import threading class Singleton(object): __instance = None __lock = threading.Lock() # used to synchronize
Time of Update: 2017-01-19
本文執行個體講述了python檔案讀寫操作與linux shell變數命令互動執行的方法。分享給大家供大家參考。具體如下:python對檔案的讀寫還是挺方便的,與linux shell的互動變數需要轉換一下才能用,這比較頭疼。代碼如下:複製代碼 代碼如下:#coding=utf-8#!/usr/bin/pythonimport osimport time#python執行linux命令os.system(':>./aa.py')#人機互動輸入S =
Time of Update: 2017-01-19
一、定製Python的互動提示符Python的預設互動提示符為“>>>”,但它是可以定製的。Python啟動後,先尋找PYTHONSTARTUP環境變數,然後執行此檔案中變數指定的執行代碼。一些Linux發布包提供了預設的啟動指令碼,一般存放在其home目錄,名為.pythonstartup。“Tab完成”和“命令曆史”這兩個功能增強了提示符應用,兩者都基於readline模組。如果沒有.pythonstartup檔案,可以自己建立一個。簡單例子:複製代碼 代碼如下:#
Time of Update: 2017-01-19
由於工作的需求,需要用python做一個類似網路爬蟲的採集器。雖然Python的urllib模組提供更加方便簡潔操作,但是涉及到一些底層的需求,如手動設定User-Agent,Referer等,所以選擇了直接用socket進行設計。當然,這樣的話,需要對HTTP協議比較熟悉,HTTP協議這裡就不做講解了。整個python的代碼如下:#!/usr/bin env pythonimport
Time of Update: 2017-01-19
同為指令碼語言,python和Javascript具有相似的變數範圍,不像php,函數的內部的所有變數和外部都是隔絕的,也就是說,函數要想處理其外部的資料,必須使用參數把需要處理的資料傳遞進來(使用global關鍵詞這裡不討論),而python和Javascript不同,如果在函式宣告變數,它會逐級網上尋找,直到返回著個值或者未定義。那麼這樣說,python的閉包應該很簡單了,像javascript一樣,我們編寫類似的代碼:def func1(): a = 1 def func2()
Time of Update: 2017-01-19
在上一篇文章中,我們講了如何在linux上用python寫一個守護進程。主要原理是利用linux的fork函數來建立一個進程,然後退出父進程運行,產生的子進程就會成為一個守護進程。細心觀察的可能會發現,這個守護進程的運行身份是執行這個程式的使用者,如果把這個精靈加入到系統的服務項,那麼這個精靈的執行身份應該是root。一個情況出現了,root的許可權比較大,如果通過這個root身份的精靈來進行操作,危險性是比較大的。一種好的辦法是產生一個身份為root的master進程用來接受請求,產生若干個w
Time of Update: 2017-01-19
守護進程(daemon)是指在UNIX或其他多任務作業系統中在後台執行的電腦程式,並不會接受電腦使用者的直接操控。此類程式會被以進程的形式初始化。通常,守護進程沒有任何存在的父進程(即PPID=1),且在UNIX系統進程層級中直接位於init之下。守護進程程式通常通過如下方法使自己成為守護進程:對一個子進程調用fork,然後使其父進程立即終止,使得這個子進程能在init下運行。–維基百科守護進程區別於普通使用者登陸系統後啟動並執行進程,它是直接由系統初始化,和系統使用者沒有關係,而使用者開啟的進
Time of Update: 2017-01-19
異常(exceptions)是Python中一種非常重要的類型,它和語法錯誤不同,是在程式運行期間引發的錯誤。Python中內建了很多異常,如IOError,NameError,KeyboardInterrupt等,更多的異常可以點擊這裡。異常的意義在於提供一種更加優雅的運行方式,例如用Python編寫一個計算機,如果使用者輸入不能計算的對象,則可以拋出異常,並進行處理, 如下:while True: try: x= int(input('Please In enter A