python 之 文件I/0
打开和关闭文件
open()函数
必须要open()内置函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
语法 file object=open(file_name [,access_mode] [,buffering])
file_name:变量是一个包含了你要访问的文件名称的字符串值
access_mode:决定了打开文件的模式:只读,写入,追加等,默认是只读 (R)
buffering:如果buffering的值被设为0,就不会寄存。如果buffering的值取值1,访问文件时会寄存行。
若是大于1,表明是寄存区的大小。
若是负值,则缓冲大小则为系统默认
File对象的属性
文件打开后就存在一个file对象,可以得到关于文件的各种信息
实际简单案例
fo = open("foo.txt", "wb") print "文件名: ", fo.name print "是否已关闭 : ", fo.closed print "访问模式 : ", fo.mode
输出:
文件名: foo.txt
是否已关闭 : False
访问模式 : wb
close()方法
语法:
fileObject.close();
案例:
fo.close()
write()方法
语法: fileObject.write(string) 案例: fo.open("foo.txt","wb")//会报错,讲wb改为 w+ fo.write("www.runoob.com!\nVery good site!\n") fo.close()
read()方法
该方法从一个打开的文件中读取一个字符串,可以是二进制数据而不仅是文字
语法:
fileObject.read([count])
count:表示读取的字节,若是不写则会尽可能读取,与打开文件的缓存大小有关
案例:
fo.open("foo.txt","r+")
str=fo.read(10)
print(str)
fo.close()
文件定位
tell()方法:显示文件的当前位置。
seek(offset [,from])方法 改变当前文件内的当前位置。offset变量表示要移动的字节数。from变量指定开始移动字节的参考位置
from=0:以文件的开头这么多字节作为移动字节的参考位置
from=1:以当前位置作为参考位置
from=2:将该文件的末尾将作为参考位置
fo=open("foo.txt","r+") str=fo.read(10); print(str) #查找当前位置 position=fo.tell() print("当前文件内位置:",position) position=fo.seek(4,0); str=fo.read(10); print("移动后的文件内位置",str) position=fo.tell() print("移动后文件内位置:",position) fo.close() 输出: www.runoob 当前文件内位置: 10 移动后的文件内位置 runoob.com 当前文件内位置: 14
重命名和删除文件
python的os模块提供了文件的处理方法,需要导入该模块
os.rename()方法
语法: os.rename(current_file_name,new_file_name) 案例: os.rename("foo.txt","test2.txt")
os.remove()方法
语法:
os.remove(file_name)
python里的目录:
mkdir()方法:在当前目录下创建新的目录文件
语法: os.mkdir("newdir") 案例: os.mkdir(“test”)
chdir()方法:用来改变当前的目录
语法: os.chdir("newdir") 案例:#将当前目录修改为/home/newidr os.chdir("/home/newidr")
getcwd()方法:用来显示当前的目录
语法:
os.getcwd()
案例:
print(os.getcwd())
rmdir()方法:用来删除目录
语法: os.rmdir('dirname') 案例:删除目录/tmp/test os.rmdir("/tmp/test")
File对象:提供了操作文件的方法
Os对象:提供了操作目录的方法