以下函數列出某個目錄下(包括子目錄)所有文件,本隨筆重點不在于遞歸函數的實現,這是一個很簡單的遞歸,重點在于熟悉Python庫os以及os.path一些函數的功能和用法。1.os.listdir(path):列出path下所有內容(包括文件和目錄,不包括.和..)2.os.path.join(path1,path2,path3...):拼接目錄,例如將'home','test'拼接成'home/test/'3.os.path.isdir(path):判斷p
系統 2019-09-27 17:38:04 1638
本文介紹了Python對于線程的支持,包括“學會”多線程編程需要掌握的基礎以及Python兩個線程標準庫的完整介紹及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的詞匯請記得百度谷歌或維基,whatever。1.線程基礎1.1.線程狀態線程有5種狀態,狀態轉換的過程如下圖所示:1.2.線程同步(鎖)多線程的優勢在于可以同時運行多個任務(至少感覺起來是這樣)。但是當線程需要共享數據時,可能存在數據不同步的問題??紤]這樣一種情況:一個列表里所
系統 2019-09-27 17:38:03 1638
一、定制Python的交互提示符Python的默認交互提示符為“>>>”,但它是可以定制的。Python啟動后,先尋找PYTHONSTARTUP環境變量,然后執行此文件中變量指定的執行代碼。一些Linux發布包提供了缺省的啟動腳本,一般存放在其home目錄,名為.pythonstartup?!癟ab完成”和“命令歷史”這兩個功能增強了提示符應用,兩者都基于readline模塊。如果沒有.pythonstartup文件,可以自己創建一個。簡單例子:復制代碼代
系統 2019-09-27 17:37:55 1638
請在開始使用Flask之前閱讀本文。也希望本文能夠回答關于Flask項目的初衷以及目標,以及flask適用的場景(情境)等問題。什么是“微”?“微”(“Micro”)并不是意味著把整個Web應用放入到一個Python文件,盡管確實可以這么做。當然“微”(“Micro”)也不是意味Flask的功能上是不足的。微框架中的“微”(“Micro”)是指Flask旨在保持代碼簡潔且易于擴展。Flask不會為你做太多的選擇,例如選擇什么樣的數據庫。Flask為你做的是
系統 2019-09-27 17:37:52 1638
JSON(JavaScriptObjectNotation)是一種輕量級的數據交換格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C,C++,C#,Java,JavaScript,Perl,Python等)。這些特性使JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。今天用py
系統 2019-09-27 17:37:51 1638
需求在實際應用中,需要對xml配置文件進行實時修改,1.增加、刪除某些節點2.增加,刪除,修改某個節點下的某些屬性3.增加,刪除,修改某些節點的文本使用xml文檔實現思想使用ElementTree,先將文件讀入,解析成樹,之后,根據路徑,可以定位到樹的每個節點,再對節點進行修改,最后直接將其輸出實現代碼#!/usr/bin/python#-*-coding=utf-8-*-#author:wklken@yeah.net#date:2012-05-25#ve
系統 2019-09-27 17:37:47 1638
1.使用測量工具,量化性能才能改進性能,常用的timeit和memory_profiler,此外還有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟蹤cpython的擴展;2.用C來解決費時的處理,c是效率的代名詞,也是python用來解決效率問題的主要途徑,甚至有時候我都覺得python是c的完美搭檔。常用的是Cython,直接把py代碼c化然后又能像使用py包一樣使用,其次是ctypes,效
系統 2019-09-27 17:37:43 1638
之前博客有用logstash-input-jdbc同步mysql數據到ElasticSearch,但是由于同步時間最少是一分鐘一次,無法滿足線上業務,所以只能自己實現一個,但是時間比較緊,所以簡單實現一個思路:網上有很多思路用什么mysql的binlog功能什么的,但是我對mysql了解實在有限,所以用一個很呆板的辦法查詢mysql得到數據,再插入es,因為數據量不大,而且10秒間隔同步一次,效率還可以,為了避免服務器之間的時間差和mysql更新和查詢產生
系統 2019-09-27 17:37:40 1638
#!/usr/bin/envpython#exampletooltip.pyimportpygtkpygtk.require('2.0')importgtk#CreateanArrowwidgetwiththespecifiedparameters#andpackitintoabuttondefcreate_arrow_button(arrow_type,shadow_type):button=gtk.Button()arrow=gtk.Arrow(arr
系統 2019-08-29 23:50:32 1638
[1b]一、[/1b]人物通常是漫畫故事的主要組成部分。如果要想把人物畫得生動,首先應該了解人體的結構。[1b]小孩:[/1b]孩子的頭部較大,一般比例為三到四個頭高。[1b]成年人:[/1b]人體立姿為七個頭高(立七),坐姿為五個頭高(坐五),蹲姿為三個半頭高(蹲三半),立姿手臂下垂時,指尖位置在大腿二分一處。[1b]老人:[/1b]由于骨骼收縮,老年人的比例較成年人略小一些,在畫老年人時,應注意頭部與雙肩略靠近一些,腿部稍有彎曲。[1b]人體性別基本特
系統 2019-08-29 23:42:17 1638