核心代碼:#!/usr/bin/python#-*-coding:gbk-*-#設置源文件輸出格式importsysimportgetoptimportjsonimportcreateDictimportmyConToXMLimportmyConToTabledefgetRsDataToDict():#獲取控制臺中輸入的參數,并根據參數找到源文件獲取源數據csDict={}try:#通過getopt獲取參數opts,args=getopt.getopt(s
系統 2019-09-27 17:38:33 1626
Python判斷變量是否已經定義是一個非常重要的功能,本文就來簡述這一功能的實現方法。其實Python中有很多方法可以實現判斷一個變量是否已經定義了。這里就舉出最常用的兩種作為示例,如下所示:方法一:tryexcept方法:defisset(v):try:type(eval(v))except:return0else:return1用法:ifisset('user_name'):print'user_nameisdefined'elseprint'user
系統 2019-09-27 17:38:31 1626
1.如果模塊是被導入,__name__的值為模塊名字2.如果模塊是被直接執行,__name__的值為'__main__'Py1.py復制代碼代碼如下:#!/usr/bin/envpythondeftest():print'__name__=',__name__if__name__=='__main__':test()Py2.py復制代碼代碼如下:#!/usr/bin/envpythonimportPy1.pydeftest():print'__name__
系統 2019-09-27 17:38:30 1626
我們都知道并發(不是并行)編程目前有四種方式,多進程,多線程,異步,和協程。多進程編程在python中有類似C的os.fork,當然還有更高層封裝的multiprocessing標準庫,在之前寫過的python高可用程序設計方法中提供了類似nginx中masterprocess和workerprocess間信號處理的方式,保證了業務進程的退出可以被主進程感知。多線程編程python中有Thread和threading,在linux下所謂的線程,實際上是LW
系統 2019-09-27 17:38:17 1626
列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。排序,數字、字符串按照ASCII,中文按照unicode從小到大排序x=[4,6,2,1,7,9]x.sort()print(x)#[1,2,4,6,7,9]如果需要一個排序好的副本,同時保持原有列表不變,怎么實現呢?x=[4,6,2,1,7,9]y=x[:]y.sort()print(y)#[1,2,4,6,7,9]print(x)#[4,
系統 2019-09-27 17:38:09 1626
1.上下文管理器是什么?舉個例子,你在寫Python代碼的時候經常將一系列操作放在一個語句塊中:(1)當某條件為真?C執行這個語句塊(2)當某條件為真?C循環執行這個語句塊有時候我們需要在當程序在語句塊中運行時保持某種狀態,并且在離開語句塊后結束這種狀態。所以,事實上上下文管理器的任務是?C代碼塊執行前準備,代碼塊執行后收拾。上下文管理器是在Python2.5加入的功能,它能夠讓你的代碼可讀性更強并且錯誤更少。接下來,讓我們來看看該如何使用。2.如何使用上
系統 2019-09-27 17:38:08 1626
以下函數列出某個目錄下(包括子目錄)所有文件,本隨筆重點不在于遞歸函數的實現,這是一個很簡單的遞歸,重點在于熟悉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 1626
單繼承時super()和__init__()實現的功能是類似的classBase(object):def__init__(self):print'Basecreate'classchildA(Base):def__init__(self):print'creatA',Base.__init__(self)classchildB(Base):def__init__(self):print'creatB',super(childB,self).__init__
系統 2019-09-27 17:37:52 1626
需求在實際應用中,需要對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 1626
設置字段可選在擺弄了一會之后,你或許會發現管理工具有個限制:編輯表單需要你填寫每一個字段,然而在有些情況下,你想要某些字段是可選的。舉個例子,我們想要Author模塊中的email字段成為可選,即允許不填。在現實世界中,你可能沒有為每個作者登記郵箱地址。為了指定email字段為可選,你只要編輯Book模塊(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代碼如下:classAuthor(mo
系統 2019-09-27 17:37:46 1626