您的位置:首页 > 编程语言 > Python开发

Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)

2015-12-19 16:54 1101 查看

一、file/open 内置函数

file函数的方法:

注:file 和 open的用法和功能相同这里只对file进行分析

file(‘filename’,’mode’)

file(‘filename’,’mode’).write(‘data’) 数据写入文件

file(‘filename’,’mode’).read()

file(‘filename’,’mode’).flush() 文件刷新

file(‘filename’,’mode’).close() 文件关闭保存

mode参数详解,如下表所示



例:写入文件文件并读取文件

#!/usr/bin/env python
#-*- coding:utf-8 -*-
#创建一个可写的file_write句柄
file_write = file('test_file','w')
#创建一个只读的文件句柄
file_read = file('test_file','r')
#将数据写入文件
file_write.write('file test hello word')
#写入文件后关闭file_write句柄
file_write.close()
#从file_read句柄中读取数据并打印
for i in file_read:
print i
#关闭file_read句柄
file_read.close()


二、fileinput 模块

#导入fileinput模块

import fileinput


#返回当前行号

fileinput.filelineno()


#返回当前正在读取的文件的名称。

fileinput.filename()


#input方法详解

fileinput.input(files=文件名, inplace=0, backup='', bufsize=0, mode='r')

  files 文件名

  inplace 是否写入文件

  backup 如果替换文件之前要备份文件则指定文件名后缀

  mode 指定打开模式 默认为只读(经测试默认也是可以写的)


#如果读取的是第一行则返回True,否则返回Flase

fileinput.isfirstline()


#关闭序列

fileinput.close()


例:

  将web.conf文件中的Alan替换为Lisa

# cat web.conf

www.Alan.com

#vim input.py


#编辑脚本文件代码内容如下

#!/usr/bin/env python
import fileinput #导入fileinput 模块
for i in fileinput.input('web.conf',inplace=1,backup='_bak'):
print i.replace('Alan','Lisa') //一定要输出不然是没有数据写入文件的
fileinput.close()


(注:上面input中的参数大意为 打开文件web.conf 并开启输出写入文件功能 执行替换之前先将文件备份为后缀为_bak的文件)

#执行脚本

#./input.py


#查看当前目录会发现生成了一个web.conf_bak备份文件

#ls

web.conf

web.conf_bak


#对比两个文件可以发现web.conf已经被替换并且已经备份为web.conf_bak

#cat web.conf

www.Lisa.com

#cat web.conf_bak

www.Alan.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: