当我们读取一个文件之后,如果还想知道关于这个文件的一些属性信息,怎么得到?在python中,我们可以使用os和stat模块来获取基本信息,来看一个例子:
当然,当我们打开一个“文件”后,不清楚到底是不是文件,还是目录,我们可以这么判断:
我们在刚刚创建的new文件夹下新建一个txt文档,试着删除这个文件夹new:
这个时候报错了,错误显示是目录非空,不能删除,查了一下,发现有很多方法,找了个最简洁的,试了一下:
发现文件夹不在了,这就是我们后面要说到的shutil模块。
这个时候就可以用模块”fnmatch”和”glob”模块了。我们先从glob说起,现我们在F:\\coding\\python目录下新建了3个目录,分别为new1,new2,new3,在这三个目录下,我们又分别新建了一些其他文件,现在我们就来看看glob的便捷之处:
经过上面的实践之后,又有一个问题了,假如我们需要对某个目录下的不同类型文件进行操作时,该怎么办呢?看下面的例子:
首先我们能想到的当然是glob,递归搜索应该就可以了,如下:
但是本着偷懒的原则,还是觉得代码繁琐,于是查了一下,果然还有一个os.walk方法,os.walk()返回一个3元素tuple:当前路径,子文件夹名称,文件列表,看一下示例:
在python中还有很多其他类型,如list、tuple、dictionary和其它对象,如何转换呢?在Python中,你可以使用Pickle来完成。你可以使用Python标准库中的“pickle”模块完成数据编组。
下面,我们来编组一个包含字符串和数字的list:
这里,我们根据实验很容易就能联想到对象序列化,那么pickle到底能不能支持任意自定义对象的序列化呢?我们试一试:
果然,这与我们的猜测是一致的。
python进阶七_文件操作(二),布布扣,bubuko.com
原文:http://blog.csdn.net/liygcheng/article/details/23033923