Python文件处理
1.文件的打开方式
文件打开方法:open(name[,mode[buf]])
name:文件路径
mode:打开方式
buf:缓冲buffing大小
2.文件读取方式:
read([size]):读取文件(读取size个字节,默认读取全部)。
readline([size]):读取一行
readlines([size]):读取完文件,返回每一行所组成的列表
iter:使用迭代器读取文件
f=open('test.txt')
iter_f=iter(f)
lines=0
for line in iter_f:
lines+=1
3.文件写入方式:
write(str):将字符串写入文件
writelines(sequence_of_strings):写多行到文件
4.文件的关闭
Linux系统中每个进程打开文件的个数似乎有限的,如果打开文件系统限制,再打开文件就会失败。
进入Python命令行模式:
ps
cat /proc/20384/limitis
file.fileno:打开一个文件,没有close,第二次打开,fileno数累加。
list_f = []
for i in range(1025):
list_f.append(open('test.txt','w'))
print "%d:%d" % (i,list[i].fileno())
5.文件指针
1).写入文件后,必须打开才能读取写入内容
2).读取文件后,无法重新再次读取读取过的内容
seek(offset[,whence]):移动文件指针
Offset:偏移量,可以为负数
whence:偏移相对位置
os.SEEK_SET:相对文件起始位置0;
os.SEEK_CUR:相对文件的当前位置1;
os.SEEK_END:相对结尾位置2.
file.tell():返回当前文件的偏移
file.seek(0,os.SEEK_SET)
6.文件属性的编码格式
file.fileno():文件描述符;
file.mode:文件打开权限;
file.encoding:文件的编码格式;
file.closed:文件是否关闭。
7.Python标准文件
文件标准输入:sys.stdin、文件标准输出:sys.stdout、文件标准错误:sys.stderr
sys.argv:字符串组成的列表,获取命令行参数
__name__=='__main__'
open(fname,,mode,encoding,errors,buffering)
8.os模块对文件和目录操作
os.open(filename,flag[,mode])
flag:打开文件方式
os.O_CREATE:创建文件
os.O_RDONLY:只读方式打开
os_WRONLY:只写方式打开
os_ORDWR:读写方式打开
os.read(fd,buffersize)
os.write(fd,string)
os.lseek(fd,pos,how):文件指针操作
os.close(fd):关闭文件。
fd=open('test.txt',os.O_CREAT|os.O_REWR)
os模块方法介绍:
access(path,mode):判断该文件权限:F_OK存在,权限:R_OK、W_Ok、X_OK
listdir(path):返回当前目录下所有文件组成的列表
remove(path):删除文件
rename(old,new):修改文件名或目录名
mkdir(path,[,mode])
makedirs(path,[,mode])
removedirs(path)
rmdir(path):删除目录,此目录必须为空。
os.path模块方法介绍
exists(path)
isdir(s)
isfile(path)
getsize(filename)
dirname(p):返回路径的目录
basename(p):返回路径的文件名