Time of Update: 2018-12-04
1. python實現IE自動化,可使用cPAMIE模組。使用方法:import cPAMIEie = cPAMIE.PAMIE()ie.Navigate()用來訪問一個連結,常用的方法還有ie.SetTextBox(), ie.SetListBox(), ie.ClickButton(), GoBack(), Refresh(), Quit()等。另外常用的ie整合測試載入器可用selenium(IE、firefox可用)。 2. 常見的Http Status
Time of Update: 2018-12-04
1. python Popen的具體解釋是:開啟一個命令或從管道傳回值。從python2.4開始,就可以用subprocess這個模組來產生子進程,並串連到子進程的標準輸入/輸出/錯誤中去,還可以得到子進程的傳回值,subprocess意在替代其它幾個老的模組或函數。如,os.system, os.spawn*, os.popen*, popen2.*, commands.*下面是使用subprocess的例子。import win32com.clientfrom subprocess
Time of Update: 2018-12-04
1. 使用pywinauto自動化架構實現切換程式。import win32com.clientfrom pywinauto import Applicationfrom time import sleep, timeapps = {'iexplore':'IEFrame', 'notepad':'Notepad'}lst = []for key:value in apps.items(): key = key + '_' key =
Time of Update: 2018-12-04
1. list 序列,sample_list = [1, 2, 3, 'abc']dictionary 字典,sample_dic = {"key" = value, 2:3}tuple 唯讀序列,sample_tuple = (1, 3, "ab")序表:序表由一系列值用逗號分隔而成,序表與字串一樣是不可變的,不允許對序表的某一項賦值。字典:關聯陣列。與字串不同的是列表是可變的,可以修改列表的每個元素。可以建立嵌套列表(表的元素也是列表)。 2.
Time of Update: 2018-12-04
1、首先下載py2exe模組安裝: 為:http://www.py2exe.org/old/ 下載對應的版本號碼進行安裝 2、建立一個簡單的python程式儲存為hello.py,我們將其放在python安裝目錄下,我這裡是d:\python27print "Hello World!"3、在d:\python27目錄下建立安裝檔案setup.pyimport py2exefrom distutils.core import setupsetup(console=['hello.
Time of Update: 2018-12-04
shell> vi 2.py#!/usr/bin/env python str = ("i am a worker, and you are a student !")print str #split the str,if not specified the separator ,the whitespace is a separator,items is a sequence items = str.split()print items #join the str
Time of Update: 2018-12-04
Python 之迴圈日誌參考:http://docs.python.org/2/library/logging.htmlRotatingFileHandler 用於處理迴圈日誌, 可以指定記錄檔層級,記錄檔最大容量(位元組),記錄檔#!/usr/bin/python# filename: printlog.py# author: # date: 2012-12-19# version: 0.1import loggingfrom logging.handlers import
Time of Update: 2018-12-04
1.open使用open開啟檔案後一定要記得調用檔案對象的close()方法。比如可以用try/finally語句來確保最後能關閉檔案。file_object = open('thefile.txt')try: all_the_text = file_object.read( )finally: file_object.close(
Time of Update: 2018-12-04
比較好奇python對於多進程中copy on write機制的實際使用方式。目前從實驗結果來看,python 使用multiprocessing來建立多進程時,無論資料是否不會被更改,子進程都會複製父進程的狀態(記憶體空間資料等)。所以如果主進程耗的資源較多時,不小心就會造成不必要的大量的記憶體複製,從而可能導致記憶體爆滿的情況。樣本舉個例子,假設主進程讀取了一個大檔案對象的所有行,然後通過multiprocessing建立背景工作處理序,並迴圈地將每一行資料交給背景工作處理序來處理:def
Time of Update: 2018-12-04
據說range比xrange開銷要大,原因是range會直接產生一個list對象,而xrange每次調用返回其中的一個值;參考:http://yushunzhi.iteye.com/blog/207850。於是好奇做了個小小的測試,比較兩個函數效能到底有多大差別。(1)測試代碼#!/usr/bin/env pythonfrom datetime import *def test_range(): c1=0 t1 = datetime.now() for
Time of Update: 2018-12-04
過濾列表中為某值的項的幾種情況:(1)刪除符合某值的第一個匹配項 使用remove函數,如list.remove(1),則會刪除第一個值為1的項.(2)刪除符合某值的所有匹配項 兩種方法(a)使用列表推導式,如list_a = [e for e in list_a if e!=1] (b)使用filter函數, 如list_b = filter(lamda e:e!=1, list_b)(3)刪除一個或幾個連續的元素
Time of Update: 2018-12-04
首先是安裝paramiko庫(其實現了SSH2安全性通訊協定),ubuntu下可直接通過源安裝:sudo apt-get install python-paramiko接下來是代碼實現遠程下載:def remote_scp(host_ip,remote_path,local_path,username,password): t = paramiko.Transport((host_ip,22)) t.connect(username=username,
Time of Update: 2018-12-04
一般的檔案流操作都包含緩衝機制,write方法並不直接將資料寫入檔案,而是先寫入記憶體中特定的緩衝區。flush方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區。正常情況下緩衝區滿時,作業系統會自動將緩衝資料寫入到檔案中。至於close方法,原理是內部先調用flush方法來重新整理緩衝區,再執行關閉操作,這樣即使緩衝區資料未滿也能保證資料的完整性。如果進程意外退出或正常退出時而未執行檔案的close方法,緩衝區中的內容將會丟失。
Time of Update: 2018-12-04
#!/usr/bin/env python2.7#-*- encoding: utf-8 -*-import timeimport datetimeimport MySQLdbimport osimport reimport paramiko# map的value值增量def safe_inc_map_val(map, key, val): if key in map.keys(): map[key] = map[key] + val else: map[key] = val#
Time of Update: 2018-12-04
1.問題描述:一個在Django架構下使用Python編寫的定時更新項目,在Windows系統下測試無誤,在Linux系統下測試,報如下錯誤:ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128)2.原因分析:字元問題。在Windows系統轉Linux系統時,字元問題很容易出現。3.解決辦法:在出現問題的頁加上如下三行即可:import
Time of Update: 2018-12-04
簡介大家會發現,常見的解決方案都會需要對遠程伺服器必要的配置,如果遠程伺服器只有一兩台還好說,如果有N台,還需要逐台進行配置,或者需要使用代碼進行以上操作時,上面的辦法就不太方便了。使用paramiko可以很好的解決以上問題,比起前面的方法,它僅需要在本地上安裝相應的軟體(python以及PyCrypto),對遠程伺服器沒有配置要求,對於串連多台伺服器,進行複雜的串連操作特別有協助。安裝安裝paramiko有兩個先決條件,python和另外一個名為PyCrypto的模組。通常安裝標準的pytho
Time of Update: 2018-12-04
如果兩台伺服器之間使用了RSA秘鑰免密碼登入的方式,可以先尋找出rsa秘鑰的對應目錄(如find / -name id_rsa 或者locate id_rsa),接著通過python中paramiko模組可以這樣實現scp功能:def scp_by_key(host_ip, host_port, remote_path, local_path, username, pkey_path): try:
Time of Update: 2018-12-04
cjson庫相對於python內建的json庫,效率會高一些。兩者用法也都相對簡單。對於json,
Time of Update: 2018-12-04
一個簡單的ftp程式,實現從伺服器下載檔案和上傳檔案#!/usr/bin/env pythonimport sysimport osfrom ftplib import FTPimport timedef ftp_down(): hftp = FTP('ip') hftp.login('user','passwd') hftp.cwd('serverpath') os.chdir('localpath') flst = hftp.nlst() for
Time of Update: 2018-12-04
#!/usr/bin/env python#coding=utf-8DataPath = 'C:\\'def main(): files = os.listdir(DataPath) for file in files: if fnmatch.fnmatch(file,'*.dat.tmp'): #判斷檔案的最後修改時間 fileName = os.path.join(DataPath, file)