python中的文件操作

1.python中常用的文件操作有open,write,read,readline,readlines,writelines,seek,tell,close等。

open的函数原型为open(name[,mode[,buffering]]),name为文件的路径名,常见的mode有’r’ (读模式),’w’ (写模式),’a’追加模式,’b’ ( 二进制模式) ‘+’(可读可写模式),buffering的值设为0,文件的操作是没有缓冲的,如果为1,表示有缓冲,读写在内存中进行然后从缓冲区写入硬盘,读写效率更高。readline为读取一行,readlines为读取所有行,writelines向文件写入需要加上换行符。在文件读写完成后,需要调用close函数将文件关闭。下面文件读写操作的实例:有文件D:\\so.txt,文件内容是:

Life is too short to wake up in themorning with regrets.

So,

love the people who treat you rightand forget about the ones who do not. 

下面是读文本的方法:

#!/usr/bin/env python
f=open('D:\\so.txt','r+')
#f.write("hello world")
for i in range(0,3):
	printf.readline()
f.seek(0)
lines=f.readlines()
lines.append("\nlife is too short,weneed python")
f.seek(0)
f.writelines(lines)
f.close()
for line in open('D:\\so.txt','r+'):
	print line

    在文件的迭代读取时,可以不适用变量变量存储文件对象,在文件读写结束时也不必适用close关闭文件对象。

使用with语句,也可以不调用close,因为这种情况下,文件会自动关闭。如

with open(“D:\\so.txt”) as file:

         print file.readlines()

2.python 提供了shutil模块,它提供了高级文件操作,如文件的复制、移动和备份

(1) copyfile(src,dst)函数可以将文件src复制到dst,src和dst都是字符串形式的路径名,如果src和dst是相同的路径,则会引发错误,如果dst不是可写的方式打开的,会引发I/O异常,这个函数不能用于拷贝块设备文件或者管道文件。将上文中的so.txt拷贝到D:\\sotest.txt,只需调用copyfile(“D:\\so.txt”,”D:sotest.txt”)即可。

(2) 移动文件可以使用move(src,dst),这里如果dst是目录,src文件会移动到dst目录下。使用move(“D:\\so.txt”,”E:”),可以将so.txt移动到E盘。

(3) 备份文件

make_archive(base_name,format[,root_dir])

   base_name 是将要创建的文件名(去掉扩展名),format是备份的格式,可以是zip,tar,batar,gztar,root_dir是要备份的文件,默认是当前的工作目录

    将D:\\sotest备份为myarchive,调用方法为make_archive(“myarchive”,zip,”D:\\sotest”)



你可能感兴趣的:(python,文件)