文件和目录的基本操作
来源:互联网 发布:腾讯内部刷枪软件 编辑:程序博客网 时间:2024/06/05 05:55
打开文件用函数file或者open,创建一个文件对象,然后用文件对象里面的方法(,f.read(),f.close())对文件进行操作。
格式是:f=open(文件名,mode)
mode的几种形式:
r:只读
r+:读写。暂时会写入缓冲区,只有fobject.close()后,才能奏效
w:写入,会删除原文件,文件如果没有创建,则会创建
w+:读写,会删除原文件文件如果没有创建,则会创建(可以写入输出)
a:写入,在原文件基础上追加,文件不存在,则创建
a+:读写,在原文件基础上追加,文件不存在,则创建
b:打开二进制文件,可以和r,w,a,+结合使用
U:支持所有换行符。\r,\t,\n
>>> f=file('./txt','r')
>>> f.read()
'hello python\nok\nabc\n\n'
>>> f.close()
文件对象的几种操作方法
遍历迭代用open打开,依次打开文件中的每一行
>>> for i in open('./txt'):(或者 for i in file('./txt'):)
... print i
...
hello python
ok
abc
hei hei1234545678
fobeject.readline() #打印文件中的第一行有指针作用。
fobject.next()#依次打印第一行数据,也是具有指针作用。和上面readline方法不同的是。它在结束的时候会停止迭代
,而readline会继续打印出空字符串
fobeject.readlines()#将文件中的每一行数据当做一个列表返回,一行充当列表的一个元素
>>> f=open('./txt')
>>> f.readlines()
['hello python\n', 'ok\n', 'abc\n', 'hei hei1234545678\n']
fobject.writelines(可以是列表)#写入速度比write(内容)要快,效率高,少量写入可以用write()
>>> f=open('./txt','a')
>>> s=["asd\n","cdr123\n"] #注意要带换行符\n不然就会写入同一行中
>>> f.writelines(s)
>>> f.close()
运行结果:
[root@daixiangzi code]# cat txt
hello python
ok
abc
hei hei1234545678
asd
cdr123
操作文件指针(定位)方法fobject.seek(偏移量,标记)
标记默认为0(表示文件开始的位置)
标记1(表示当前指针位置)
标记2(表示指向文件尾)
例子,字符替换和字符统计
#!/bin/python
#coding=utf8
#文件中统计某个字符的个数,替换字符
import string
def replace_word(x,y):#x为替换字符,y为被替换字符,z为替换次数,默认为全部替换
f=open('./test','r+')
g=f.read()
f.close()
f=open('./test','w')
f.write(string.replace(g,y,x))
f.close()
def count_word(x,y): #x为文件路径,y为查找字符
count=0
f=open(x,'r')
for i in f.readlines():
if i==y:
count=count+1
f.close()
return count
#a="./test"
#b="4\n"
#c=count_word(a,b)
#print c
a="a\n"
b="x\n"
replace_word(b,a)
- 文件和目录的基本操作
- PHP常用的基本文件和目录操作总结
- 文件操作函数:目录的基本操作
- Linux(3)文件和目录基本操作
- linux 文件及目录的基本操作
- 文件与目录操作的基本命令
- C# 文件与目录的基本操作
- 目录及文件的基本操作
- 文件和目录的操作
- python的文件操作和目录操作
- Linux 用户和组操作,以及文件和目录的基本权限
- 目录的基本操作
- Linux文件基本操作管理和系统目录结构
- tb-common-utils源码分析(3):文件和目录的基本操作
- Linux学习(一)---关于文件和目录的基本操作命令
- 文件和目录的操作和管理
- 文件和目录操作
- 文件和目录操作
- hash表实例应用
- openSUSE的KDE环境下调用python-matplotlib绘图
- refresh的停车场(栈+队列)
- JAVA与23种设计模式之间的暧昧关系(一)单例模式
- 高斯滤波
- 文件和目录的基本操作
- Cannot create a session after the response has been committed
- 打造史上最强模块加载工具
- 首个重复字符(字典的基本操作)
- 关于十维空间
- php反射
- 51NOD 1068 Bash游戏 V3
- 打造自己的Android源码学习环境之二:在虚拟机中安装Ubuntu(上)
- JavaScript-navigator对象学习