open是内建函数,一个方法
open("test.txt","r",buffering=1)
test.txt 表示被打开的文件名,如果不存在就创建一个,然后在打开。
r 打开模式
buffering 设置缓存模式。0表示不缓存;1表示缓存,比1 大时表示缓冲区的大小(单位字节)。
打开模式: r 只读
r+ 读写
w 写入,覆盖在原来的上面,文件不存在,先创建。
w+ 读写
a 追加
a+ 读写方式
b 二进制方式打开
file是一个类,常用属性: f=file("test.txt","r")
close() 关闭文件
flush() 把缓存区的内容写入磁盘
read() 默认读取全部 f.read(n) 读取n字节
readline() 读取一行
readlines() 将文件内容全部读到一个列表中。
seek() 移动指针 seek(0,2) 移到文件末尾
tell() 指针当前位置
write("hello") 将字符串写入文件
读取有三种方法:readline() 每次只读取一行,要用循环读取文件,当指针移动到文件末尾时,用readline会报错,可以每次做一个判断,再执行读。
readline(n) 每次读n个字节
f=file("test.txt")
while True:
line=f.readline()
if line:
print line
else:
break
f.close()
readlines() 将文件内容全部读到一个列表中。要借助循环,读出没行内容。 f=open("test.txt")
lines=f.readlines()
for line in lines:
print line
f.close()
read() 将文件整个内容都读取出来, f=file("test.txt")
context=f.read()
print context
f.close()
文件写入 write() 把字符串写入文件
f=open("test.txt","w")
f.write("hello,world!")
f.close()
writelines() 把列表中的内容写入文件,速度快,适合大量字符串 f=file("test.txt","w+")
list=["hello,world
","hello,china
"]
f.writelines(list)
f.close()
文件删除 os模块常用函数:
access(/path/to/file,mode) 以指定方式访问文件
chmod(/path/to/file,mode) 改变文件权限,
open(filename,mode) 以给定方式打开文件
remove(/path/to/file) 删除文件
rename(filename,new) 重命名
stat(filename) 返回文件所有属性
listdir(path) 以列表形式返回path目录中的文件
os.path常用函数:
abspath(filename) 返回绝对路径
dirname(filename) 返回文件目录
exists(filename) 判断文件是否存在
isabs(path) path是绝对路径
isfile(filename) filename存在
isdir(path) path是一个目录
join(path1,path2) 多个路径组合后返回
getsize(filename) filename的大小(字节)
getatime(filename) filename所指向的文件的最后存取时间
getmtime(filename) filename所指向的文件的最后修改时间
splitext(filename) 返回文件后缀名
改当前目录文件后缀名
import os
files=os.listdir(".")
for filename in files:
file=os.path.splitext(filename)
if file[1] == ".html":
newname = file[0] + ".htm"