Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)
一、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模块)的更多相关文章
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- Python之路:Python 基础(三)-文件操作
操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件 f = file('myfile. ...
- Python基础(七)-文件操作
一.文件处理流程 1.打开文件,得到文件句柄赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 二.基本操作 f = open('zhuoge.txt') #打开文件 first_line = ...
- python基础 (编码进阶,文件操作和深浅copy)
1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...
- python基础(四)文件操作和集合
一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') # ...
- python3速查参考- python基础 5 -> 常用的文件操作
文件的打开方式 打开方式 详细释义 r 以只读方式打开文件.文件的指针会放在文件的开头.这是默认模式. rb 以二进制只读方式打开一个文件.文件指针会放在文件的开头. r+ 以读写方式打开一个文 ...
- python基础(三)-- 文件操作
一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...
- python基础--字符编码以及文件操作
字符编码: 1.运行程序的三个核心硬件:cpu.内存.硬盘 任何一个程序要是想要运算,肯定是先从硬盘加载到当前的内存中,然后cpu根据指定的指令去执行操作 2.python解释器运行一个py文件的步骤 ...
- python基础-第十一篇-11.2DOM为文档操作
文档对象模型(DOM)是一种用于HTML和XML文档的编程接口 节点类型 12种节点类型都有NodeType属性来表明节点类型 节点关系 <div id="t"> &l ...
随机推荐
- linux 打开远程samba服务器
sudo mount -t cifs //10.104.*.*data /home/leeyoung/samba/ -o username=123,password=123
- 关于在MDK中使用 printf 函数
microlib 提供了一个有限的 stdio 子系统,它仅支持未缓冲的 stdin.stdout 和 stderr. 这样,即可使用 printf() 来显示应用程序中的诊断消息. 要使用高级 I/ ...
- NOIP2004 合并石子
二.合并果子 (fruit.pas/dpr/c/cpp) [问题描述] 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多 ...
- HW7.9
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- delphi 常用属性+方法+事件+代码+函数
内容居中(属性) alignment->tacenter mome控件 禁用最大化(属性) 窗体-> BorderIcons属性-> biMaximize-> False 让鼠 ...
- python 继承和多态
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Supe ...
- hdu2545 树上战争 (并查集)
Problem Description 给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 ...
- 图形用户界面(graphical user interface)
1 java中提供的类库 1.1 定义 AWT(abstract windows toolkit)抽象窗口工具包:提供了与本地图形界面进行交互的接口,AWT中提供的图形函数与操作系统的图形函数有着对应 ...
- 读取.tmx地图
读取.tmx地图 m_GameMap = CCTMXTiledMap::create("map1.tmx"); this->addChild(m_GameMap,1); 读取 ...
- js-弹出一个新窗口 新窗口自动转接到一个页面然后自动关闭
这个问题.好. 在百度问问找到的:他的做法是打开一个后通过实例对象,再进行一将跳转,最后再将JS里定时将实例对象关闭... 这个问题其实不需要两个页面,只要三行JS代码就能实现,除非你在2.php里面 ...
