山西坦达清洁设备有限公司

现在的位置: 主页 > 主打产品 > 文章列表

文章正文

Python入门篇之文件

作者:山西坦达清洁设备有限公司 来源:www.sxtdqj.com 发布时间:2017-09-05 12:10:52
Python入门篇之文件

文件处理的函数和方法

使用Open()函数可打开文件,语法格式如下:

代码如下:


file_handler = open(filename,[,mode[,bufsize]]

filename是你要操作的文件名,如果不在当前路径,需指出具体路径。mode是打开文件的模式,表示你要如何操作文件,bufsize表示是否使用缓存。

mode

模式 描述

r 以读方式打开文件,可读取文件信息。

w 以写方式打开文件,可向文件写入信息。

a 以追加方式打开文件,文件指针自动移到文件尾。

r+ 以读写方式打开文件,可对文件进行读和写操作。

w+ 消除文件内容,然后以读写方式打开文件。

a+ 以读写方式打开文件,并把文件指针移到文件尾。

b 以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。

bufsize

bufsize取值 描述

0 禁用缓冲

1 行缓冲

>1 指定缓冲区的大小

<1 系统默认的缓冲区大小

open()函数返回一个文件对象,我们可通过read()或write()函数对文件进行读写操作,下面是一些文件对象方法:

文件对象方法

方法 描述

f.close() 关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。

f.fileno() 获得文件描述符

f.flush() 刷新输出缓存

f.isatty() 如果文件是一个交互终端,则返回True,否则返回False。

f.read([count]) 读出文件,如果有count,则读出count个字节。

f.readline() 读出一行信息。

f.readlines() 读出所有行,也就是读出整个文件的信息。

f.seek(offset[,where]) 把文件指针移动到相对于where的offset位置。offset为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。

f.tell() 获得文件指针位置。

f.truncate([size]) 截取文件,使文件的大小为size。

f.write(string) 把string字符串写入文件。

f.writelines(list) 把list中的字符串一行一行地写入文件。

示例

1.文件的打开或创建

代码如下:


#!/usr/bin/env python
#-*- encoding:UTF-8 -*-

filehandler = open('test.txt','w') #以写模式打开文件,如果文件不存在则创建
filehandler.write('this is a file open/create test.\nthe second line.')

filehandler.close()
#!/usr/bin/env python
#-*- encoding:UTF-8 -*-

filehandler = open('test.txt','a') #以追加模式打开文件,如果文件不存在则创建

filehandler.write('\nappend the text in another line.\n')

filehandler.close()

2.读取文件

代码如下:


#!/usr/bin/env python
#-*- encoding:UTF-8 -*-

filehandler = open('test.txt','r') #以读方式打开文件,rb为二进制方式(如图片或可执行文件等)

print 'read() function:' #读取整个文件
print filehandler.read()

print 'readline() function:' #返回文件头,读取一行
filehandler.seek(0)
print filehandler.readline()

print 'readlines() function:' #返回文件头,返回所有行的列表
filehandler.seek(0)
print filehandler.readlines()

print 'list all lines' #返回文件头,显示所有行
filehandler.seek(0)
textlist = filehandler.readlines()
for line in textlist:
print line

print 'seek() function' #移位到第32个字符,从33个字符开始显示余下内容
filehandler.seek(32)
print filehandler.read()

print 'tell() function' #移位到文件头,从头开始显示2位字符
filehandler.seek(0)
print filehandler.readline() #显示第一行内容
print filehandler.tell() #显示当前位置
print filehandler.readline() #显示第二行内容
print filehandler.read() #显示余下所有内容

filehandler.close() #关闭文件句柄

3.文件系统操作

代码如下:


#!/usr/bin/env python
#-*- encoding:utf-8 -*-

import os,fnmatch,glob

for fileName in os.listdir ( '/root' ): #列出/root目录内容,不包括.和..
print fileName

os.mkdir('py') #在当前目录下创建一个py目录,且只能创建一层
os.rmdir( 'py') #在当前目录下删除py目录,且只能删除一层
os.makedirs('py/aa') #可创建多层目录
os.removedirs('py/aa') #可删除多层目录

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:黄石SEO http://huangshi.raoyu.net


COPYRIGHT © 2015 山西坦达清洁设备有限公司 ALL RIGHTS RESERVED.
网站地图 技术支持:肥猫科技
精彩专题:网站建设
购买本站友情链接、项目合作请联系客服QQ:2500-38-100