今天用Python提取了Linux內(nèi)核源代碼的目錄樹結(jié)構(gòu),沒有怎么寫過腳本程序,我居然折騰了2個小時,先是如何枚舉出給定目錄下的所有文件和文件夾,os.walk可以實現(xiàn)列舉,但是os.walk是只給出目錄名和文件名,而沒有絕對路徑。使用os.path.listdir可以達到這個目的,然后是創(chuàng)建目錄,由于當目錄存在是會提示創(chuàng)建失敗的錯誤,所以我先想刪除所有目錄,然后再創(chuàng)建,但是發(fā)現(xiàn)還是有問題,最好還是使用判斷如果不存在才創(chuàng)建目錄,存在時就不創(chuàng)建,貼下代碼:#
系統(tǒng) 2019-09-27 17:38:11 1759
實際上,Python提供了with語句來管理資源關閉。比如可以把打開的文件放在with語句中,這樣with語句就會幫我們自動關閉文件。with語句的語法格式如下:withcontextexpression[astarget(s)]:with代碼塊在上面的語法格式中,context_expression用于創(chuàng)建可自動關閉的資源。例如,程序使用with語句來讀取文件:importcodecs#使用with語句打開文件,該語句會負責關閉文件withcodecs.
系統(tǒng) 2019-09-27 17:38:03 1759
python連接數(shù)據(jù)庫操作,方法如下:在本機的mysql數(shù)據(jù)庫中有一個名為yao的庫,其中有一個名為user的表,表中的內(nèi)容如圖下面,則是python連接數(shù)據(jù)庫的方法,及查找出表中的內(nèi)容,代碼如下:#!/usr/bin/python#filenameconn.pyimportMySQLdb#載入連接數(shù)據(jù)庫模塊try:#嘗試連接數(shù)據(jù)庫conn=MySQLdb.connect("localhost","root","www","yao",charset="ut
系統(tǒng) 2019-09-27 17:37:52 1759
設置字段可選在擺弄了一會之后,你或許會發(fā)現(xiàn)管理工具有個限制:編輯表單需要你填寫每一個字段,然而在有些情況下,你想要某些字段是可選的。舉個例子,我們想要Author模塊中的email字段成為可選,即允許不填。在現(xiàn)實世界中,你可能沒有為每個作者登記郵箱地址。為了指定email字段為可選,你只要編輯Book模塊(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代碼如下:classAuthor(mo
系統(tǒng) 2019-09-27 17:37:46 1759
作者簡介:王建興,清華大學資訊工程系的博士研究生,研究興趣包括計算機網(wǎng)絡、點對點網(wǎng)絡、分布式網(wǎng)絡管理、以及行動式代理人,專長則是Internet應用系統(tǒng)的開發(fā)。曾參與過的開發(fā)項目性質(zhì)十分廣泛而且不同,從ERP、PCGame到P2P網(wǎng)絡電話都在他的涉獵范圍之內(nèi)。一、讀懂程序代碼,使心法皆為我所用程序代碼是別人寫的,只有原作者才真的了解程序代碼的用途及涵義。許多程序人心里都有一種不自覺的恐懼感,深怕被迫去碰觸其他人所寫的程序代碼。但是,與其抗拒接收別人的程序代
系統(tǒng) 2019-08-29 22:57:47 1759
iPhone:Maintainvisibilityofforminputs–auto-scrollingviews當你開發(fā)圖標或者任何有輸入?yún)^(qū)域的界面,偶爾輸入框再鍵盤彈出時會被擋住。這樣用戶體驗不好,用戶在輸入時看不到他們所輸入的東西。一個解決方案,是滑動整個view讓編輯區(qū)域一直是可見的。我提供的整個解決方案對UIView添加了一些方法(我知道,添加類別到cocoa的類是頑皮的)這將決定基于整個屏幕的輸入位置滑動視圖的多少,還有和鍵盤彈起一樣的速度滑動
系統(tǒng) 2019-08-29 22:41:51 1759
在實際程序開發(fā)中,經(jīng)常需要持久化臨時對象,比如新建一個學生,將加入到一個存在的班級中(或者新建的一個班級),在這里不妨把引起級聯(lián)操作的對象稱為根對象(本文中所指的就是team對象),而根對象可能出于transient,persistence,detach三態(tài),下面分別討論首先,建立數(shù)據(jù)庫表:CREATETABLEcertificate(idvarchar(100)NOTNULLdefault'',descriptionvarchar(100)default
系統(tǒng) 2019-08-12 09:30:04 1759
概述模塊Pickle實現(xiàn)了對一個Python對象結(jié)構(gòu)的二進制的序列化和反序列化。即當Python程序持續(xù)運行一些字符串、列表字典、甚至自定義的類等數(shù)據(jù)對象,需要持久化存儲,即存儲在磁盤中,防止運行在內(nèi)存中,因斷電等情況丟失數(shù)據(jù)。那么Pickle模塊就派上用場了,它可以將對象轉(zhuǎn)換為一種可以傳輸或存儲的格式。python的pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列和反序列化。通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去,永久存儲;通過
系統(tǒng) 2019-09-27 17:56:58 1758
Zabbix沒有報表導出的功能,于是通過編寫腳本導出zabbix數(shù)據(jù)并發(fā)郵件。效果如下:下面是腳本,可根據(jù)自己的具體情況修改:#!/usr/bin/python``#coding:utf-8``importMySQLdb``importtime,datetime``importxlsxwriter``importsmtplib``from``email.mime.textimportMIMEText``from``email.mime.multiparti
系統(tǒng) 2019-09-27 17:55:05 1758
開篇:測試過程中,對于多參數(shù)參數(shù)多值的情況進行測試用例組織,之前一直使用【正交分析法】進行用例組織,說白了就是把每個參數(shù)的所有值分別和其他參數(shù)的值做一個全量組合,用Python腳本實現(xiàn),就是itertools模塊中product方法(又稱笛卡爾積法)。正交分析法的優(yōu)點是測試用例覆蓋率100%,缺點測試用例數(shù)量龐大,執(zhí)行用例消耗的人工巨大。Pairwise(結(jié)對)算法源于對傳統(tǒng)的正交分析方法優(yōu)化后得到的產(chǎn)物,它的理論來自于數(shù)學統(tǒng)計。毫不避諱的說,本人看不懂數(shù)
系統(tǒng) 2019-09-27 17:54:21 1758