龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > python编程 >

Python入门篇之文件(3)

时间:2014-10-21 11:48来源:网络整理 作者:网络 点击:
分享到:
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_M

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对象

实际应用中的文件
首先看一个文件处理的一个简单的例子:

精彩图集

赞助商链接