以下函數列出某個目錄下(包括子目錄)所有文件,本隨筆重點不在于遞歸函數的實現,這是一個很簡單的遞歸,重點在于熟悉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 1628
本文介紹了Python對于線程的支持,包括“學會”多線程編程需要掌握的基礎以及Python兩個線程標準庫的完整介紹及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的詞匯請記得百度谷歌或維基,whatever。1.線程基礎1.1.線程狀態線程有5種狀態,狀態轉換的過程如下圖所示:1.2.線程同步(鎖)多線程的優勢在于可以同時運行多個任務(至少感覺起來是這樣)。但是當線程需要共享數據時,可能存在數據不同步的問題。考慮這樣一種情況:一個列表里所
系統 2019-09-27 17:38:03 1628
Python用WMI模塊獲取Windows系統的硬件信息:硬盤分區、使用情況,內存大小,CPU型號,當前運行的進程,自啟動程序及位置,系統的版本等信息。本文實例講述了python使用wmi模塊獲取windows下的系統信息監控系統#!/usr/bin/envpython#-*-coding:utf--*-#http://www.cnblogs.com/liu-ke/importwmiimportosimportsysimportplatformimport
系統 2019-09-27 17:38:02 1628
今天一個朋友給個需求:來來{'isOK':1,'isRunning':None,'isError':None}怎么轉換成字典好,一看就是json轉化很簡單,開始:importjsona="{'isOK':1,'isRunning':None,'isError':None}"printjson.loads(a)死活出不來結果,還報錯,查了兩個小時的百度,沒搞明白。最后,直接復制網上的代碼,OK,運行成功,可是把我的a變量填進去,不行,報錯;開始對比兩個變量有
系統 2019-09-27 17:38:00 1628
示例一#coding=UTF-8importsysimportMySQLdbimporttimereload(sys)sys.setdefaultencoding('utf-8')defconnectDemo():returnMySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")if__name__=='__main__':begin=time.time()conn=
系統 2019-09-27 17:37:59 1628
python是支持多線程的,主要是通過thread和threading這兩個模塊來實現的。thread模塊是比較底層的模塊,threading模塊是對thread做了一些包裝的,可以更加方便的使用。雖然python的多線程受GIL限制,并不是真正的多線程,但是對于I/O密集型計算還是能明顯提高效率,比如說爬蟲。下面用一個實例來驗證多線程的效率。代碼只涉及頁面獲取,并沒有解析出來。#-*-coding:utf-8-*-importurllib2,timeim
系統 2019-09-27 17:37:56 1628
最近在自學Python語言,看到向列表增加更多數據時被append(),extend(),insert()方法繞暈了。append和extend都只需要一個參數,并且自動添加到數組末尾,如果需要添加多個,可用數組嵌套,但是append是將嵌套后的數組作為一個對象,extend是將嵌套的數組內容作為多個對象,添加到原數組中作為編程0基礎的小白,覺得有必要自己再梳理一遍:1.append()方法是指在列表末尾增加一個數據項。例如:在students列表末尾增加
系統 2019-09-27 17:37:54 1628
設置字段可選在擺弄了一會之后,你或許會發現管理工具有個限制:編輯表單需要你填寫每一個字段,然而在有些情況下,你想要某些字段是可選的。舉個例子,我們想要Author模塊中的email字段成為可選,即允許不填。在現實世界中,你可能沒有為每個作者登記郵箱地址。為了指定email字段為可選,你只要編輯Book模塊(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代碼如下:classAuthor(mo
系統 2019-09-27 17:37:46 1628
我的操作系統為centos6.51首先選擇django要使用什么數據庫。django1.10默認數據庫為sqlite3,本人想使用mysql數據庫,但為了測試方便順便要安裝一下sqlite開發包。yuminstallmysqlmysql-devel#為了測試方便,我們需要安裝sqlite-devel包yuminstallsqlite-devel2接下來需要安裝Python了,因為Python3已經成為主流,所以接下來我們要安裝Python3,到官網去下載P
系統 2019-09-27 17:37:45 1628
文章先介紹了關于俄羅斯方塊游戲的幾個術語。邊框――由10*20個空格組成,方塊就落在這里面。盒子――組成方塊的其中小方塊,是組成方塊的基本單元。方塊――從邊框頂掉下的東西,游戲者可以翻轉和改變位置。每個方塊由4個盒子組成。形狀――不同類型的方塊。這里形狀的名字被叫做T,S,Z,J,L,I,O。如下圖所示:模版――用一個列表存放形狀被翻轉后的所有可能樣式。全部存放在變量里,變量名字如S_SHAPE_TEMPLATEorJ_SHAPE_TEMPLATE著陸――
系統 2019-09-27 17:37:44 1628