国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Python基礎(chǔ)練習(xí)

2019-11-14 16:54:00
字體:
供稿:網(wǎng)友

近日,因工作需要要學(xué)習(xí)Python。為了不在語言細(xì)節(jié)中無法自拔,我按照網(wǎng)上廣為流傳的《程序員技術(shù)練級(jí)攻略》中python部分的學(xué)習(xí)計(jì)劃,做了三個(gè)簡(jiǎn)單的練習(xí),算是對(duì)python有了初步的了解。


1.使用open/csv進(jìn)行文件讀寫操作。

 1 __author__ = 'xuqiang' 2 # -*- coding: UTF-8 -*- 3 import csv 4 import sys 5  6 #csv操作,文件格式不是重要的,最重要的是文件內(nèi)容要符合格式,而不是文件擴(kuò)展名 7  8 #利用open進(jìn)行逐行處理 9 PRint("逐行處理/n")10 for line in open("Sample.txt"): #取一行11     title,year,director = line.split(",")12     print(year,title)13 14 for line in open("Sample.txt"): #取一行15     title,year,director = line.split(",")16     print(title,director)17 18 #使用CSV進(jìn)行逐行處理CSV格式的文件19 print("/ncsv處理")20 reader = csv.reader(open("Sample.txt"))21 for title,year,director in reader:22     print title,director23 24 25 #使用CSV進(jìn)行逐行處理修改了分隔府的CSV格式的文件26 print"/n改變分隔符"27 class SKV(csv.Excel):28     delimiter = ";"29 csv.register_dialect("SKV", SKV)30 reader = csv.reader(open("Sample.ddd"),"SKV")31 for title,year,director in reader:32     print year,title33 34 print("/n 改變分隔符簡(jiǎn)單版本")35 reader = csv.reader(open("Sample.ddd"),delimiter=";")36 for title,year,director in reader:37     print year,title38 39 40 41 #使用CSV將數(shù)據(jù)寫入到CSV格式的文件中42 print("/n 將數(shù)據(jù)讀取出來然后存儲(chǔ)到CSV格式的文件中")43 reader = csv.reader(open("Sample.ddd"),delimiter=";")44 data = []45 for title,year,director in reader:46     tup = (title,year,director)    #先存到元組47     data.append(tup)               #再將元組存儲(chǔ)到列表48 49 newfile = open('outCsv.csv','w')  #一個(gè)新文件50 sys.stdout = newfile #sys.stdout原本是控制臺(tái),我們重定向到newfile上51 writer = csv.writer(sys.stdout)52 53 for item in data:             #列表的迭代54     writer.writerow(item)     #一行一行的寫入

 

2.文件系統(tǒng)的遍歷 ,并將遍歷結(jié)果進(jìn)行排序

 1 __author__ = 'xuqiang' 2 # -*- coding: UTF-8 -*- 3  4 import os 5 import os.path 6 import time 7 import Operator 8  9 rootdir = "/home/xuqiang/newfiles"10 11 12 #一、使用os.walk進(jìn)行文件夾遍歷,直接輸出遍歷結(jié)果13 14 #os.walk會(huì)遞歸遍歷整個(gè)文件夾 該方法對(duì)于每個(gè)目錄返回一個(gè)三元組,(dirpath, dirnames, filenames)15 #parent:dirnames 一般就一個(gè),當(dāng)前的大文件夾名稱16 #dirnames: 此文件夾中所有的文件夾名稱17 #filenames: 此文件夾中所有的文件名稱18 for parent,dirnames,filenames in os.walk(rootdir):19     for dirname in dirnames:20         print "parent is :" + parent21         print "dirname is :" + dirname + '/n'22 23 24     for filename in filenames:25         print "parent is :" + parent26         print "filename is:"+ filename27         print "the full name of the file is:" + os.path.join(parent,filename) + '/n' #輸出文件路徑信息28 29 30 31 32 #二、使用os.path.walk進(jìn)行文件夾遍歷,將遍歷結(jié)果寫入文件中33 34 #將文件屬性中的時(shí)間改為‘2011-1-12 00:00:00格式'35 def formattime(localtime):36     endtime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(localtime))37     return endtime38 39 #searchdir是os.path.walk的回調(diào)函數(shù),os.path.walk也會(huì)遞歸遍歷文件夾40 #dirname:路徑41 #names:文件列表(只有文件名)42 def searchdir(arg,dirname,names):43     for filespath in names:44         fullpath=os.path.join(dirname,filespath) #路徑名+文件名  = 文件絕對(duì)路徑45         statinfo=os.stat(fullpath)               #文件屬性46         sizefile=statinfo.st_size                #文件大小47         creattime=formattime(statinfo.st_ctime)  #創(chuàng)建時(shí)間48         maketime=formattime(statinfo.st_mtime)   #修改時(shí)間49         readtime=formattime(statinfo.st_atime)   #瀏覽時(shí)間50         if os.path.isdir(fullpath):              #判斷是文件夾還是文件51             filestat='DIR'52         else:53             filestat='FILE'54             #把結(jié)果寫入到test.txt中55             open ('test.txt','a').write('【%s】路徑:%s 文件大小(B):%s 創(chuàng)建時(shí)間:%s 修改時(shí)間:%s 瀏覽時(shí)間:%s/r/n'%(filestat,fullpath,sizefile,creattime,maketime,readtime))56 57 os.path.walk(rootdir,searchdir,())58 59 60 61 62 63 64 #三、利用os.list進(jìn)行文件夾遍歷,并對(duì)遍歷結(jié)果按照不同要求進(jìn)行排序65 tuplist = []66 for i in os.listdir(rootdir):67     fullpath = os.path.join(rootdir,i)68     statinfo=os.stat(fullpath)               #文件屬性69     sizefile=statinfo.st_size                #文件大小70     creattime=formattime(statinfo.st_ctime)  #創(chuàng)建時(shí)間71     if os.path.isfile(fullpath):72         tup = {'filename':i,'filesize':sizefile,'filetime':creattime}73         tuplist.append(tup)74 75 tuplist.sort(key=operator.itemgetter('filetime') )   #根據(jù)創(chuàng)建時(shí)間進(jìn)行排序76 print tuplist77 tuplist.sort(key=operator.itemgetter('filesize') )  #根據(jù)文件大小進(jìn)行排序78 print tuplist79 tuplist.sort(key=operator.itemgetter('filename') )  #根據(jù)文件名稱進(jìn)行排序80 print tuplist

 

3.sqlite數(shù)據(jù)庫操作,做了個(gè)簡(jiǎn)單的select操作。

1 __author__ = 'xuqiang'2 import  sqlite33 cx = sqlite3.connect("btopp.db")4 cu=cx.cursor()5 cu.execute("select * from btopp")6 print cu.fetchall()

 

 

參考資料:http://www.jb51.net/article/65792.htm   Python遍歷指定文件及文件夾的方法

              http://coolshell.cn/articles/4990.html 程序員技術(shù)練級(jí)攻略

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 红安县| 花莲县| 定南县| 丰都县| 如皋市| 内丘县| 东至县| 合肥市| 虹口区| 武强县| 赤壁市| 岚皋县| 信宜市| 伊宁市| 海盐县| 阳山县| 江都市| 沙洋县| 鄯善县| 兴隆县| 永和县| 陇西县| 灵石县| 布拖县| 龙川县| 肇源县| 克拉玛依市| 宜黄县| 宣武区| 南溪县| 营口市| 广昌县| 津市市| 新平| 龙泉市| 修武县| 全椒县| 同江市| 定结县| 汕头市| 南汇区|