Python入门篇之文件(3)
for field in fileInfo: #显示对象内容
print '%s:%s' % (field,fileInfo[field])
#for infoField,infoValue in fileInfo:
# print '%s:%s' % (infoField,infoValue)
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ): #判断是否路径
print 'Directory. '
else:
print 'Non-directory.'
if stat.S_ISREG ( fileStats [ stat.ST_MODE ] ): #判断是否一般文件
print 'Regular file.'
elif stat.S_ISLNK ( fileStats [ stat.ST_MODe ] ): #判断是否链接文件
print 'Shortcut.'
elif stat.S_ISSOCK ( fileStats [ stat.ST_MODe ] ): #判断是否套接字文件
print 'Socket.'
elif stat.S_ISFIFO ( fileStats [ stat.ST_MODe ] ): #判断是否命名管道
print 'Named pipe.'
elif stat.S_ISBLK ( fileStats [ stat.ST_MODe ] ): #判断是否块设备
print 'Block special device.'
elif stat.S_ISCHR ( fileStats [ stat.ST_MODe ] ): #判断是否字符设置
print 'Character special device.'
#!/usr/bin/env python
#-*- encoding:UTF-8 -*-
import os.path
fileStats = 'test.txt'
if os.path.isdir ( fileStats ): #判断是否路径
print 'Directory.'
elif os.path.isfile ( fileStats ): #判断是否一般文件
print 'File.'
elif os.path.islink ( fileStats ): #判断是否链接文件
print 'Shortcut.'
elif os.path.ismount ( fileStats ): #判断是否挂接点
print 'Mount point.'
stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义。我们可方便地根据stat模块存取os.stat()中的值。
5.串行化文件
#!/usr/bin/env python
#-*- encoding:UTF-8 -*-
import pickle
filehandler = open('pickle.txt','w')
text = ['this is a pickle demonstrate','aa','bb']
pickle.dump(text,filehandler) #把text的内容序列化后保存到pickle.txt文件中
filehandler.close()
filehandler2 = open('pickle.txt')
textlist = pickle.load(filehandler2) #还原序列化字符串
print textlist
filehandler2.close()
#cpickle是用C写的pickle模块,比标准的pickle速度快很多,使用方法同pickle。
6.内存文件
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import StringIO
fileHandle = StringIO.StringIO ( "Let freedom ring." ) #create file in memory
print fileHandle.read() # "Let freedom ring."
fileHandle.close()
#cStringIO是用C写的StringIO模块,执行速度比StringIO快。
shutil模块是一个高级的文件处理模块,可实现文件的拷贝、删除等操作。
打开文件
打开文件程序会调用内置的open函数,首先是外部名,接着就是处理模式。
常见的文件运算:
在任何情况下,Python程序中的文本文件采用字符串的形式,读取文本时会返回字符串形式的文本
从文件中读取的数据回到脚本时是一个字符串,所以如果字符串不是你所需的,就得将其转换成其他类型的Python对象
实际应用中的文件
首先看一个文件处理的一个简单的例子:
- 上一篇:Python入门篇之正则表达式
- 下一篇:Python入门篇之函数