一.基础操做html
1.打开文件python
f = open(文件路径,打开方式,编码模式) #打开文件并返回操做对象缓存
打开方式编码 |
说明 | 注意 |
'r' | 只读方式 | 文件必须存在 |
'w' | 只写方式 | 文件不存在则建立文件spa 文件存在则清空文件命令行 |
'a' | 追加方式 | 文件不存在建立文件 |
'r+'/'w+' | 读写方式 | |
'a+' | 追加和读写方式 |
2.读取文件指针
f.read() #不加参数默认读取整个文件 例如:read(1024) #读取1024个字节htm
f.readline() #不加参数默认读取一行对象
f.readlines()#读取buffer字节大小的内容 ,返回每一行所组成的列表blog
iter #使用迭代器读取文件,读取全部内容
例子:
iter_f = iter(f)
lines = 0
for line in iter_f :
f.read(line) #一行行读取
lines += 1
return lines #一共多少行
3.文件写入与写缓存
f.write(str) #将字符串写入文件
f.writelines(sequences_of_strings) #写多行到文件,参数为可迭代对象
注意:写以后,直接查看文件,会发现内容并无被写到文件里,由于此时内容还在缓存中,并无写到磁盘上
解决方法:
(1)主动调用close()或者flush方法,写缓存同步到磁盘;(2)写入数据量大于或者等于缓存,写缓存同步到磁盘
4.文件关闭
f.close()
为何须要关闭?
(1)将写缓存同步到磁盘;(2)Linux系统中每一个进程打开文件的个数是有限的;(3)若是打开文件数到了系统限制,再打开文件就会失败
5.文件指针
写入与读取的问题
(1)写入文件后,必须打开才能读取写入内容
(2)读取文件后,没法从新再次读取读过内容
文件指针移动的过程:
文件指针操做方法:
seek(偏移量,相对偏移位置)
指针定位方式:
os.SEEK_SET:相对文件起始位置 0
os.SEEK_CUR:相对文件当前位置 1
os.SEEK_END:相对文件结尾位置 2
使用例子:
f.seek(0,os.SEEK_SET) #文件指针回到起始位置
f.seek(0,os.SEEK_END) #文件指针指到文件结尾
f.seek(-5,os.SEEK_CUR) #指针从当前位置向前偏移5个位置
f.tell() #查看指针当前所指位置
二.文件属性以及OS模块使用
1.文件属性
(1)属性方法
f.fileno()#文件描述符
f.mode#文件打开权限,只读、只写、读写等
f.encoding #文件编码格式
f.closed#文件是否关闭
(2)标准文件
标准输入:sys.stdin 标准输出:sys.stdout 标准错误:sys.stderr
(3)文件命令行参数
执行程序时,能够根据参数不一样完成不一样功能
sys模块提供sys.argv属性,经过该属性能够获得命令行参数,sys.argv是字符串组成的列表
python a.py 参数名
2.编码格式
这篇博文讲解很详细
http://www.javashuo.com/article/p-ksoeayae-do.html
3.LINUX文件系统
文件包括:磁盘(ext2.ext4)文件,NFS文件系统,各类外设(sd卡,USB设备)等
4.OS模块对文件和目录操做
(1)OS模块
使用os模块打开文件
os.open(文件名,打开方式,)
打开方式:os.O_CREAT(建立文件) os.O_RDONLY(只读方式) os.O_WRONLY(只写方式) os.O_RDWR(读写方式)
使用os模块对文件进行操做
os.read(文件描述符,buffersize) #读取文件
os.write(文件描述符,string)#写入文件
os.lseek(文件描述符,pos,how) #文件指针操做
os.close(文件描述符) #关闭文件
例子
f = os.open('文件路径',os.O_CREAT|os.O_RDWR) #建立文件
n = os.write(f,'hello') #将hello写入文件
l = os.lseek(f,0,os.SEEK_SET)#返回当前指针的位置,此时l的值应该为0
str1 = os.read(f,5) #读取5个字节,此时str1为hello
os.close(f) #关闭
(2)OS模块对文件操做的方法
举例:
os.access('文件路径名称',os.F_OK) #文件存在,则返回True不然返回False
os.access('文件路径名称',os.W_OK) #文件可写,则返回True不然返回False
os.listdir('./') #显示当前文件文件目录下的全部路径
其余方法使用方法相似
(3)os模块对路径的操做