一、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

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

  1. python基础之元组、文件操作、编码、函数、变量

    1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...

  2. Python之路:Python 基础(三)-文件操作

    操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件  f = file('myfile. ...

  3. Python基础(七)-文件操作

    一.文件处理流程 1.打开文件,得到文件句柄赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 二.基本操作 f = open('zhuoge.txt') #打开文件 first_line = ...

  4. python基础 (编码进阶,文件操作和深浅copy)

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...

  5. python基础(四)文件操作和集合

    一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') # ...

  6. python3速查参考- python基础 5 -> 常用的文件操作

    文件的打开方式 打开方式 详细释义 r  以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb  以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+  以读写方式打开一个文 ...

  7. python基础(三)-- 文件操作

    一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...

  8. python基础--字符编码以及文件操作

    字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...

  9. python基础-第十一篇-11.2DOM为文档操作

    文档对象模型(DOM)是一种用于HTML和XML文档的编程接口 节点类型 12种节点类型都有NodeType属性来表明节点类型 节点关系 <div id="t"> &l ...

随机推荐

  1. linux 打开远程samba服务器

    sudo mount -t cifs //10.104.*.*data /home/leeyoung/samba/ -o username=123,password=123

  2. 关于在MDK中使用 printf 函数

    microlib 提供了一个有限的 stdio 子系统,它仅支持未缓冲的 stdin.stdout 和 stderr. 这样,即可使用 printf() 来显示应用程序中的诊断消息. 要使用高级 I/ ...

  3. NOIP2004 合并石子

    二.合并果子 (fruit.pas/dpr/c/cpp) [问题描述] 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多 ...

  4. HW7.9

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  5. delphi 常用属性+方法+事件+代码+函数

    内容居中(属性) alignment->tacenter mome控件 禁用最大化(属性) 窗体-> BorderIcons属性-> biMaximize-> False 让鼠 ...

  6. python 继承和多态

    在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Supe ...

  7. hdu2545 树上战争 (并查集)

    Problem Description 给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 ...

  8. 图形用户界面(graphical user interface)

    1 java中提供的类库 1.1 定义 AWT(abstract windows toolkit)抽象窗口工具包:提供了与本地图形界面进行交互的接口,AWT中提供的图形函数与操作系统的图形函数有着对应 ...

  9. 读取.tmx地图

    读取.tmx地图 m_GameMap = CCTMXTiledMap::create("map1.tmx"); this->addChild(m_GameMap,1); 读取 ...

  10. js-弹出一个新窗口 新窗口自动转接到一个页面然后自动关闭

    这个问题.好. 在百度问问找到的:他的做法是打开一个后通过实例对象,再进行一将跳转,最后再将JS里定时将实例对象关闭... 这个问题其实不需要两个页面,只要三行JS代码就能实现,除非你在2.php里面 ...