Time of Update: 2017-01-19
幸運的是, 這一問題還是很容易解決的, 我們只需要使用__builtins__:from __builtins__ import int as py_int這樣一來我們又可以重新使用python的int了, 但在此時叫做py_int.一個function或變數的被覆蓋最常見的原因是在引用時使用了"*":from something import *當這樣使用import時, 我們無法明確的指導究竟引入了哪些變數或function,
Time of Update: 2017-01-19
本文介紹了使用Python來掃描指定目錄下的檔案,或者匹配指定尾碼和首碼的函數。步驟如下:如果要掃描指定目錄下的檔案,包括子目錄,需要調用scan_files("/export/home/test/")如果要掃描指定目錄下的特定尾碼的檔案(比如jar包),包括子目錄,調用scan_files("/export/home/test/",
Time of Update: 2017-01-19
模組的的作用主要是用於字串和文本處理,尋找,搜尋,替換等複習一下基本的Regex吧 .:匹配除了分行符號以為的任意單個字元 *:匹配任一字元,一個,零個,多個都能匹配得到 俗稱貪婪模式+:匹配位於+之前的一個或者多個字元 |:匹配位於|之前或者之後的字元 ^:匹配行首 $:匹配行尾 ?:匹配位於?之前的零個或者一個字元,不匹配多個字元 \:表示 \ 之後的為逸出字元 []:匹配[]之中的任意單個字元,[0-9
Time of Update: 2017-01-19
MapReduce與HDFS簡介什麼是Hadoop?Google為自己的業務需要提出了編程模型MapReduce和Distributed File SystemGoogle File System,並發布了相關論文(可在Google Research的網站上獲得: GFS 、 MapReduce)。 Doug Cutting和Mike
Time of Update: 2017-01-19
尋覓工具確定任務之後第一步就是找個趁手的庫來幹活。 Python Excel上列出了xlrd、xlwt、xlutils這幾個包,但是它們都比較老,xlwt甚至不支援07版以後的excel它們的文檔不太友好,都可能需要去讀原始碼,而老姐的任務比較緊,加上我當時在期末,沒有這個時間細讀原始碼再一番搜尋後我找到了openpyxl,支援07+的excel,一直有人在維護,文檔清晰易讀,參照Tutorial和API文檔很快就能上手,就是它了~安裝這個很容易,直接pip install
Time of Update: 2017-01-19
有關檔案夾與檔案的尋找,刪除等功能 在 os 模組中實現。使用時需先匯入這個模組,匯入的方法是:import os一、取得目前的目錄s = os.getcwd()# s 中儲存的是目前的目錄(即檔案夾)比如運行abc.py,那麼輸入該命令就會返回abc所在的檔案夾位置。舉個簡單例子,我們將abc.py放入A檔案夾。並且希望不管將A檔案夾放在硬碟的哪個位置,都可以在A檔案夾內產生一個新檔案夾。且檔案夾的名字根據時間自動產生。import osimport timefolder =
Time of Update: 2017-01-19
測試的過程中經常需要截取螢幕,通常的做法是使用手機內建的截屏功能,然後將截屏檔案複製出來,這種方法的優點是不需要串連資料線就可截屏,缺點則是產生的截屏檔案命名是隨機命名的,複製出來也比較麻煩。另一種方法是使用PC端的手機小幫手類軟體。這裡使用python編寫一個截屏的指令碼,雙擊運行指令碼就OK,截屏成功後會將截屏檔案已目前時間命名,並儲存在存放指令碼的當前路徑的screenshot檔案夾下:#!/usr/bin/env python import os import time PATH =
Time of Update: 2017-01-19
可以和Haskell , Prolog 一樣做到模式比對,建立邏輯推到規則,描述問題,得出答案。from pyDatalog import pyDatalogpyDatalog.create_atoms( 'N, N1, X, Y, X0, X1, X2, X3, X4, X5, X6, X7' )pyDatalog.create_atoms( 'ok, queens, next_queen, pred, pred2' )size = 8ok( X1, N, X2 ) <= ( X1 !=
Time of Update: 2017-01-19
但還有另外一個問題 - 你以為你修改了某個變數,其實,被from module import *後的那個並沒有被更新,非常危險,因為程式有可能還可以正常運行, 只不過結果錯了,到了production才被發現就比較慘了。舉個例子:你定義了一些變數在base模組中:# reference data typeclass Demo: def __init__(self, name): self.name = namedemo = Demo('Demo')# primitive typefoo = 1
Time of Update: 2017-01-19
自我描述的語句指這樣一種語句:它的內容就是對它本身的描述。(廢話……)比如下面這句句子:複製代碼 代碼如下:這是一段自我描述的語句,除了標點符號外,它共包含125個字元,其中33個“個”,29個“2”,5個“3”,3個“符”,3個“5”,2個“一”,2個“它”,2個“包”,2個“的”,2個“標”,2個“了”,2個“我”,2個“外”,2個“含”,2個“中”,2個“是”,2個“1”,2個“段”,2個“點”,2個“描”,2個“9”,2個“字”,2個“這”,2個“句”,2個“除”,2個“自”,2個“語”
Time of Update: 2017-01-19
Selenium 是一個可以讓瀏覽器自動化地執行一系列任務的工具,常用於自動化測試。不過,也可以用來給網頁截圖。目前,它支援 Java、C#、Ruby 以及 Python 四種用戶端語言。如果你使用 Python,則只需要在命令列裡輸入“sudo easy_install selenium”並斷行符號,即可安裝 selenium 的 Python 版本的用戶端支援。以 Python 為例,我們可以使用下面的指令碼來給指定頁面(比如雲棲社區首頁)截圖:# -*- coding: utf-8 -*-
Time of Update: 2017-01-19
PyHook是一個基於Python的“鉤子”庫,主要用於監聽當前電腦上滑鼠和鍵盤的事件。這個庫依賴於另一個Python庫PyWin32,如同名字所顯示的,PyWin32隻能運行在Windows平台,所以PyHook也只能運行在Windows平台。關於PyHook的使用,在它的官方首頁上就有一個簡單的教程,大體上來說,可以這樣使用# -*- coding: utf-8 -*- # 3import pythoncom 4import pyHook 5def
Time of Update: 2017-01-19
pyhook下載:http://sourceforge.net/projects/pyhook/files/pyhook/1.5.1/pyhookAPI手冊:http://pyhook.sourceforge.net/doc_1.5.0/以上網站上提供了幾個使用的例子,另外安裝pyhooks後,也會有一個例子的檔案。於是拿來學習了一下,第一次運行時,提示沒有pythoncom模組,就安裝了pywin32,安裝後,可以正常運行,但是會導致機器發卡,特別是中斷程式運行後,滑鼠會出現一段時間的自由晃動
Time of Update: 2017-01-19
自己在玩dota的時候有時候喜歡邊玩遊戲邊聽音樂,但是切換下一曲的時候必須得切出遊戲,而切換音樂的熱鍵ctrl+alt+方向鍵在遊戲的時候沒有用,好事蛋疼,今天試試使用python來實現鍵盤監控切換下一曲,下面貼出代碼import pythoncom, pyHookimport win32gui,win32api,win32con Lcontrol_press = FalseLmenu_press = FalseLeft_press = False def
Time of Update: 2017-01-19
這次這個真的是乾貨哦,昨晚弄了半晚上,,,,從8點吃完飯就開始寫,一直到了快12點才弄好,,,新手,傷不起呀。。。。先簡單的說下吧,百度提供了一個音樂搜尋的api,你想百度請求類似於http://box.zhangmen.baidu.com/x?op=12&count=1&title=最佳損友$$陳奕迅$$$$的地址,百度會給你返回一段xml,如下所示This XML file does not appear to have any style information
Time of Update: 2017-01-19
哎,以前寫博文的時候沒注意,有些圖片用QQ來截取,獲得的圖片檔案名稱都是類似於QQ截圖20120926174732-300×15.png的形式,昨天用ftp備份網站檔案的時候發現,中文名在flashfxp裡面顯示的是亂碼的,看起來好難受,所以寫了一個python小指令碼,爬取整個網站,然後擷取每個文章頁面的圖片名,並判斷如果是類似於QQ截圖20120926174732-300×15.png的形式就輸出並將該圖片地址和對應的文章地址儲存在檔案中,然後通過該檔案來逐個修改。好了,下面是程式碼:imp
Time of Update: 2017-01-19
很多開發人員在剛開始學Python 時,都考慮過像 c++ 那樣來實現 singleton 模式,但後來會發現 c++ 是 c++,Python 是 Python,不能簡單的進行模仿。Python 中常見的方法是藉助 global 變數,或者 class 變數來實現單件。本文就介紹以decorator來實現 singleton 模式的方法。範例程式碼如下:##----------------------- code begin -----------------------# -*-
Time of Update: 2017-01-19
一、概述:Python的GC模組主要運用了“引用計數”(reference counting)來跟蹤和回收垃圾。在引用計數的基礎上,還可以通過“標記-清除”(mark and sweep)解決容器物件可能產生的循環參考的問題。通過“分代回收”(generation collection)以空間換取時間來進一步提高記憶體回收的效率。二、引用計數在Python中,大多數對象的生命週期都是通過對象的引用計數來管理的。從廣義上來講,引用計數也是一種垃圾收集機制,而且也是一種最直觀,最簡單的垃圾收集技術。
Time of Update: 2017-01-19
#這是Python中的一個字典 dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'], 'sub_dic': { 'sub_str': 'this is sub str', 'sub_list': [1, 2, 3] }, 'end': 'end' } //這是javascript中的一個JSON對象 json_obj = { 'str': 'this is a string', 'arr': [1, 2, 'a', 'b'],
Time of Update: 2017-01-19
某些時候我們需要讓類動態添加屬性或方法,比如我們在做外掛程式時就可以採用這種方法。用一個設定檔指定需要載入的模組,可以根據業務擴充任意加入需要的模組。本文就此簡述了Python實現動態添加類的屬性或成員函數的解決方案,具體方法如下:首先我們可以參考ulipad的實現:mixin。這裡做的比較簡單,只是聲明一個類,類初始化的時候讀取設定檔,根據配置列表載入特定目錄下的模組下的函數,函數和模組同名,將此函數動態載入為類的成員函數。代碼如下所示:class WinBAS(Bas): def