玥殇 发表于 2017-4-26 11:20:04

python 文件操作(转)

Python笔记——基本文件操作
通过内置函数open对文件进行操作
打开一个文件时,返回一个文件对象
 
open(filename [,mode[,bufsie]])
filename:打开的文件名,若非当前路径,需指出具体路径
mode:可选参数,文件打开模式
bufsize:可选参数,是否使用缓存
 
 操作含有中文的文件名时:
unicode(ipath , "utf8")
 
mode:
模式
描述
r
以读方式打开文件,可读取文件信息。
w
以写方式打开文件,可向文件写入信息。
a
以追加方式打开文件,文件指针自动移到文件尾。
r+
以读写方式打开文件,可对文件进行读和写操作。
w+
消除文件内容,然后以读写方式打开文件。
a+
以读写方式打开文件,并把文件指针移到文件尾。
b
以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。
 
Bufsize
bufsize取值
描述
0
禁用缓冲
1
行缓冲
>1
指定缓冲区的大小
<1
系统默认的缓冲区大小
 
 
 
 
 
 
常用的文件操作:
file.close()关闭打开的文件
file.fileno()获得文件描述符
file.flush()刷新输出缓存
file.read()读出文件,如果有count,则独处count个字节
file.readline()读出一行信息
file.readlines()读出所有行,即整个文件
file.seek(offset[,where]) 将文件指针移动到相对于where的offset位置
offset为0表示文件开始处【默认】,1当前,2文件结尾
file.tell()获得文件指针位置
file.truncate()截取文件,是文件大小为size
file.write()向文件中写入字符串
file.writelines(list)向文件中写入一个列表
 
 
Python代码 


[*]# fileop.py 文件操作示例  
[*]f = open("a.txt","r")  
[*]#打印文件信息  
[*]print(f.fileno())  
[*]#读取6个字节  
[*]s = f.read(6)  
[*]print(s)  
[*]#获取文件指针位置 指针在刚才的读取已经跑到6了  
[*]print(f.tell())  
[*]#读取一行信息  
[*]f.read(1) #注意,换行符/n也算一个字符,  
[*]l = f.readline()  
[*]print(l)  
[*]#读取多行信息  
[*]lines = f.readlines()  
[*]for line in lines:  
[*]    print(line)  
[*]#关闭文件  
[*]f.close()  
[*]  
[*]#以追加方式再次打开文件  
[*]f = open("a.txt","a")  
[*]#获取当前指针位置  
[*]print(f.tell())  
[*]#写一行  
[*]f.write("new added string/n")  
[*]#输出缓存  
[*]f.flush()  
[*]#写入列表字符串,默认是不会自动换行的,若需要,需放置/n  
[*]l=["a","b","c","/n","d"]  
[*]f.writelines(l)  
[*]#关闭  
[*]f.close()  

 
结果:
原文件:
 
python
line 1
line 2
line 3
 
处理后:
 
 
python
line 1
line 2
line 3
new added string
abc
d
页: [1]
查看完整版本: python 文件操作(转)