最近在做周報(bào)的時(shí)候,需要把csv文本中的數(shù)據(jù)提取出來制作表格后生產(chǎn)圖表。在獲取csv文本內(nèi)容的時(shí)候,基本上都是用withopen(filename,encoding='UTF-8')asf:來打開csv文本,但是實(shí)際使用過程中發(fā)現(xiàn)有些csv文本并不是utf-8格式,從而導(dǎo)致程序在run的過程中報(bào)錯(cuò),每次都需要手動(dòng)去把該文本文件的編碼格式修改成utf-8,再次來run該程序,所以想說:直接在程序中判斷并修改文本編碼。基本思路:先查找該文本是否是utf-8的編
系統(tǒng) 2019-09-27 17:46:34 1745
本文較為詳細(xì)的講述了Python中常用的模塊,分享給大家便于大家查閱參考之用。具體如下:1.內(nèi)置模塊(不用import就可以直接使用)常用內(nèi)置函數(shù):help(obj)在線幫助,obj可是任何類型callable(obj)查看一個(gè)obj是不是可以像函數(shù)一樣調(diào)用repr(obj)得到obj的表示字符串,可以利用這個(gè)字符串eval重建該對(duì)象的一個(gè)拷貝eval_r(str)表示合法的python表達(dá)式,返回這個(gè)表達(dá)式dir(obj)查看obj的namespace中
系統(tǒng) 2019-09-27 17:45:32 1745
當(dāng)安裝好python之后,其實(shí)就已經(jīng)可以進(jìn)行開發(fā)了。下面我們開始寫第一行python代碼。值得紀(jì)念的時(shí)刻:Helloworld如果是用windows,請(qǐng)打開CMD,并執(zhí)行python。如果是UNIX類的,就運(yùn)行shell,并執(zhí)行python。都會(huì)出現(xiàn)如下內(nèi)容:Python2.7.6(default,Nov132013,19:24:16)[GCC4.6.3]onlinux2Type"help","copyright","credits"or"license"
系統(tǒng) 2019-09-27 17:45:25 1745
面向?qū)ο蟮木幊陶Z言在寫大型程序的的時(shí)候,往往比面向過程的語言用起來更方便,安全。其中原因之一在于:類機(jī)制。類,對(duì)眾多的數(shù)據(jù)進(jìn)行分類,封裝,讓一個(gè)數(shù)據(jù)對(duì)象成為一個(gè)完整的個(gè)體,貼近現(xiàn)實(shí)生活,高度抽象化。但是,python對(duì)類的封裝并不好,因?yàn)樗械膶傩院头椒ǘ际枪_的,你可以隨意訪問或者寫入,你可以在類的外部對(duì)類的屬性進(jìn)行修改,甚至添加屬性。這的確讓人感到不安。下面就來總結(jié)一下學(xué)習(xí)后的解決方案。1,使用2個(gè)下劃線前綴隱藏屬性或者方法。__xxx#!/usr/b
系統(tǒng) 2019-09-27 17:38:12 1745
我在工作的時(shí)候,在測(cè)試環(huán)境下使用的數(shù)據(jù)庫(kù)跟生產(chǎn)環(huán)境的數(shù)據(jù)庫(kù)不一致,當(dāng)我們的測(cè)試環(huán)境下的數(shù)據(jù)庫(kù)完成測(cè)試準(zhǔn)備更新到生產(chǎn)環(huán)境上的數(shù)據(jù)庫(kù)時(shí)候,需要準(zhǔn)備更新腳本,真是一不小心沒記下來就會(huì)忘了改了哪里,哪里添加了什么,這個(gè)真是非常讓人頭疼。因此我就試著用Python來實(shí)現(xiàn)自動(dòng)的生成更新腳本,以免我這爛記性,記不住事。主要操作如下:1.在原先basedao.py中添加如下方法,這樣舊能很方便的獲取數(shù)據(jù)庫(kù)的數(shù)據(jù),為測(cè)試數(shù)據(jù)庫(kù)和生產(chǎn)數(shù)據(jù)庫(kù)做對(duì)比打下了基礎(chǔ)。defselect
系統(tǒng) 2019-09-27 17:38:12 1745
前言最近在維護(hù)項(xiàng)目的python項(xiàng)目代碼,項(xiàng)目使用了python的日志模塊logging,設(shè)定了保存的日志數(shù)目,不過沒有生效,還要通過contab定時(shí)清理數(shù)據(jù)。分析項(xiàng)目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系統(tǒng) 2019-09-27 17:38:11 1745
1、python裝飾器剛剛接觸python的裝飾器,簡(jiǎn)直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍資料,猜有點(diǎn)點(diǎn)開始明白了。總結(jié)了一下解釋得比較好的,通俗易懂的來說明一下:小P閑來無事,隨便翻看自己以前寫的一些函數(shù),忽然對(duì)一個(gè)最最最基礎(chǔ)的函數(shù)起了興趣:defsum1():sum=1+2print(sum)sum1()此時(shí)小P想看看這個(gè)函數(shù)執(zhí)行用了多長(zhǎng)時(shí)間,所以寫了幾句代碼插進(jìn)去了:importtimedefsum1():s
系統(tǒng) 2019-09-27 17:38:08 1745
url='aa'printtype(url)printurl.encode('utf8')以上是ok的keyword="中國(guó)"printkeyword.encode("utf8")就會(huì)報(bào)錯(cuò)了UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xe4inposition0:ordinalnotinrange(128)pythonencode('utf8')problem
系統(tǒng) 2019-08-29 22:48:28 1745
先使用先序的方法建立一棵二叉樹,然后分別使用遞歸與非遞歸的方法實(shí)現(xiàn)前序、中序、后序遍歷二叉樹,并使用了兩種方法來進(jìn)行層次遍歷二叉樹,一種方法就是使用STL中的queue,另外一種方法就是定義了一個(gè)數(shù)組隊(duì)列,分別使用了front和rear兩個(gè)數(shù)組的下標(biāo)來表示入隊(duì)與出隊(duì),還有兩個(gè)操作就是求二叉樹的深度、結(jié)點(diǎn)數(shù)。。。#include"iostream"#include"queue"#include"stack"usingnamespacestd;//二叉樹結(jié)點(diǎn)的
系統(tǒng) 2019-08-29 22:43:14 1745
說了那么多,相信你對(duì)小步快跑的概念有了一個(gè)初步的印象,但理解還不是很深。讓我們來看一看一個(gè)實(shí)際工作中的例子,來親身感受一下什么是大布局,什么是大設(shè)計(jì),什么是小設(shè)計(jì)。還是回到前面那個(gè)HelloWorld的例子,起初的需求總是簡(jiǎn)單而清晰的。當(dāng)用戶登錄一個(gè)網(wǎng)站時(shí),網(wǎng)站往往需要給用戶打一個(gè)招呼:“hi,XXX!”。同時(shí),如果此時(shí)是上午則顯示“Goodmorning!”,如果是下午則顯示“Goodafternoon!”,除此顯示“Goodnight!”。對(duì)于這樣一個(gè)
系統(tǒng) 2019-08-29 21:59:04 1745