博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础练习
阅读量:4941 次
发布时间:2019-06-11

本文共 4405 字,大约阅读时间需要 14 分钟。

近日,因工作需要要学习Python。为了不在语言细节中无法自拔,我按照网上广为流传的《程序员技术练级攻略》中python部分的学习计划,做了三个简单的练习,算是对python有了初步的了解。

1.使用open/csv进行文件读写操作。

1 __author__ = 'xuqiang' 2 # -*- coding: UTF-8 -*- 3 import csv 4 import sys 5  6 #csv操作,文件格式不是重要的,最重要的是文件内容要符合格式,而不是文件扩展名 7  8 #利用open进行逐行处理 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进行逐行处理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进行逐行处理修改了分隔府的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 改变分隔符简单版本")35 reader = csv.reader(open("Sample.ddd"),delimiter=";")36 for title,year,director in reader:37     print year,title38 39 40 41 #使用CSV将数据写入到CSV格式的文件中42 print("\n 将数据读取出来然后存储到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)               #再将元组存储到列表48 49 newfile = open('outCsv.csv','w')  #一个新文件50 sys.stdout = newfile #sys.stdout原本是控制台,我们重定向到newfile上51 writer = csv.writer(sys.stdout)52 53 for item in data:             #列表的迭代54     writer.writerow(item)     #一行一行的写入

 

2.文件系统的遍历 ,并将遍历结果进行排序

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进行文件夹遍历,直接输出遍历结果13 14 #os.walk会递归遍历整个文件夹 该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)15 #parent:dirnames 一般就一个,当前的大文件夹名称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进行文件夹遍历,将遍历结果写入文件中33 34 #将文件属性中的时间改为‘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的回调函数,os.path.walk也会递归遍历文件夹40 #dirname:路径41 #names:文件列表(只有文件名)42 def searchdir(arg,dirname,names):43     for filespath in names:44         fullpath=os.path.join(dirname,filespath) #路径名+文件名  = 文件绝对路径45         statinfo=os.stat(fullpath)               #文件属性46         sizefile=statinfo.st_size                #文件大小47         creattime=formattime(statinfo.st_ctime)  #创建时间48         maketime=formattime(statinfo.st_mtime)   #修改时间49         readtime=formattime(statinfo.st_atime)   #浏览时间50         if os.path.isdir(fullpath):              #判断是文件夹还是文件51             filestat='DIR'52         else:53             filestat='FILE'54             #把结果写入到test.txt中55             open ('test.txt','a').write('【%s】路径:%s 文件大小(B):%s 创建时间:%s 修改时间:%s 浏览时间:%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进行文件夹遍历,并对遍历结果按照不同要求进行排序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)  #创建时间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') ) #根据创建时间进行排序76 print tuplist77 tuplist.sort(key=operator.itemgetter('filesize') ) #根据文件大小进行排序78 print tuplist79 tuplist.sort(key=operator.itemgetter('filename') ) #根据文件名称进行排序80 print tuplist

 

3.sqlite数据库操作,做了个简单的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 程序员技术练级攻略

 

转载于:https://www.cnblogs.com/xerrard/p/4961513.html

你可能感兴趣的文章
数据访问C#入门经典第21章-读写压缩数据
查看>>
PHP超时处理全面总结(转)
查看>>
利用python进行数据分析--pandas入门2
查看>>
[zz]使用 libevent 和 libev 提高网络应用性能
查看>>
Linux故障处理最佳实践
查看>>
6标准文件读写
查看>>
jsTree 核心功能(core functionality) API
查看>>
Perl oop链接数据库
查看>>
网络虚拟化我眼中的OpenFlow
查看>>
[leetcode] 3. Longest Substring Without Repeating Characters
查看>>
06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)
查看>>
获取判断IE版本 TypeError: Cannot read property 'msie' of undefined
查看>>
tcpreplay安装使用
查看>>
自增锁
查看>>
ps命令学习
查看>>
关于proteus仿真的串口问题
查看>>
[NOI2018] 归程 可持久化并查集
查看>>
无论怎样,拒绝了
查看>>
Discuz API的延伸
查看>>
C/C++(C++内存管理,内联函数,类型转换,命名空间,string类)
查看>>