在Python中文件是对象。
一、文件基本操作
1、文件打开方法
open(路径+文件名,读写模式)
读写模式: r只读,r+读写,w新建(会覆盖原有文件),a追加(文件不存在时创建文件),b二进制文件
2、文件读取方法
- read(size) size未指定则返回整个文件,如果文件大小>2倍内存则有问题read()读到文件尾时返回”“(空字串)
- readline(size) 返回一行,设置了size后返回该行的前size个字符
- readlines(size) 读取完文件,返回由每一行组成的list
3、文件写入方式
- write(str) 直接写入字符
- writelines(strings) 写入多行
4、写缓存同步
- 调用close()方法
- 使用flush()方法将缓存同步到磁盘
- 当写入的数据大于写缓存,将自动同步到磁盘
5、文件指针
当进行文件读写时,文件指针会随着读/写进行向后移动,就无法从头开始读,这就需要对文件指针进行操作,可以使用方法:
seek(偏移量(可为负数),偏移相对位置)
偏移相对位置:
os.SEEK_SET -- 0 - 文件头
os.SEEK_CUR -- 1 -当前位置
os.SEEK_END -- 2 -文件尾
二、Python文件
文件属性:
- file.fileno(): 文件描述符
- file.mode: 文件打开权限
- file.encoding: 文件编码格式
- file.closed(): 文件是否关闭
标准文件:(sys模块)
- sys.stdin :文件标准输入
- sys.stdout :文件标准输出
- sys.stderr :文件标准错误
命令行参数:(sys模块提供sys.argv属性)
sys.argv:字符串组成的list
eg:
import sys
if __name__=='__main__':
print len(sys.argv)
for arg in sys.argv:
print arg
文件编码格式:
使用codecs模块可以创建指定编码的文件:
open(fname,mode,encoding,errors,buffering):使用指定格式打开文件
文件编码格式转换:
a=unicode.encode(u'学习','utf-8')
将中文“学习”转码为了UTF-8的格式。
三、OS模块方法
1、open(filename,flags[, mode]):打开文件
flags常用参数打开方式:os.O_CREAT:创建文件
os.O_RDONLY:只读打开
os.O_WRONLY:只写打开
os.O_RDWR:读写方式打开
os.O_APPEND - 文件以添加方式打开
os.O_TRUNC - 文件大小截断为0
os.O_CREAT - 如果文件不存在,则创建文件
os.O_EXCL - 如果文件存在,并且指定了
os.O_CREAT,则在指定该选项的情况下os.open调用会抛出OSError异常。
2、read(file,buffersize):读取文件
3、write(file,string):写入文件
4、lseek(file,pos,how):文件指针操作
5、close(file):关闭文件
6、access(path,mode) : 判断该文件权限:F_OK存在,
权限:R_OK,W_OK,X_OK
7、listdir(path): 返回当前目录下所有文件组成列表
8、remove (path):删除文件
9、rename(old ,new)修改文件或目录名
10、mkdir(path,mode):创建目录
11、makedirs(path,mode):创建多级目录
12、removedirs(path):删除多级目录
13、sep 更改操作系统中的路径分隔符。
14、getcwd()获取当前路径,这个在Python代码中比较常用。
15、listdir() 列出当前目录下的所有文件和文件夹。
16、system() 方法用来运行shell命令。
17、chdir() 改变当前目录,到指定目录中。
18.path方法:
exists(path):当前路径是否存在
isdir(s):是否是一个目录
isfile(path):是否是一个文件
getsize(filename):返回文件大小
dirname(path):返回路径的目录
basename(path):返回路径的文件名