Python文件操作及os模块的文件/目录管理的操作
原创
©著作权归作者所有:来自51CTO博客作者蒋程扬的部落格的原创作品,请联系作者获取转载授权,否则将追究法律责任
一,使用过程
- 使用
open
函数通过文件名打开文件 (如果打开成功会返回文件对象 打开失败会抛出异常) - 使用
read
函数读取文件内容 - 使用
write
写入数据 - 使用
close
函数关闭文件(注意使用完成后一定要关闭文件,不然会造成文件被占用)
#coding:utf-8
#根据文件名打开文件
file=open("README") #文件名
#读取文件内容
text=file.read()
print(text)
#关闭文件
file.close()
注意:调用read方法前文件指正在文件的开头,当调用一次read()方法后当前文件的读取指针会到文件的末尾,当对当前文件指正再次调用read方法时不会得到任何文件内容
二,打开文件的方式
open函数会默认以只读方式打开文件,并且返回文件对象
如果需要写入文件,就需要传入打开的模式:
- r 以只读的方式打开,打开的指针会放在文件的开头,并且打开文件时如果文件不存在会报错
- rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
- r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
- rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
- w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
理解如下:
r 为 read 读文本的方式 ;rb b为byte, rb即以读二进制文件的方式打开;
w 为write 即写文本的方式打开;wb为写二进制的方式打开
a 为追加文本的方式打开 ab为追加二进制
r+ w+ a+ 等都是以读写的方式打开 但是读写效率低 不推荐此方法
读的方式如果文件不存在会报错 写/追加的方式,如果文件存在会覆盖/追加,不存在创建
file=open(”README“,"w")
file.write("123")
file.close()
三,按行读取数据
使用readLine
方法按行读取数据,如果为当前行空行返回空指针
四,os模块的使用
在python中使用os模块可以进行文件/目录管理
首先需要引用os模块
删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。
递归删除目录。
重命名文件或目录,从 src 到 dst
递归地对目录进行更名,也可以对文件进行更名。
创建目录
删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
返回指定路径的目录列表
判断是否为文件