python文件操作读写文件.doc
最基本的文件操作当然就是在文件中读写数据。这也是很容易掌握的。现在打开一个文件以进行写操作1FILEHANDLEOPENTESTTXT,WFILEHANDLEOPENTESTTXT,W‘W是指文件将被写入数据,语句的其它部分很好理解。下一步就是将数据写入文件1FILEHANDLEWRITETHISISATEST\NREALLY,ITISFILEHANDLEWRITETHISISATEST\NREALLY,ITIS这个语句将“THISISATEST”写入文件的第一行,“REALLY,ITIS”写入文件的第二行。最后,我们需要做清理工作,并且关闭文件1FILEHANDLECLOSEFILEHANDLECLOSE正如你所见,在PYTHON的面向对象机制下,这确实非常简单。需要注意的是,当你再次使用“W”方式在文件中写数据,所有原来的内容都会被删除。如果想保留原来的内容,可以使用“A”方式在文件中结尾附加数据1FILEHANDLEOPENTESTTXT,A2FILEHANDLEWRITE\N\NBOTTOMLINE3FILEHANDLECLOSEFILEHANDLEOPENTESTTXT,AFILEHANDLEWRITE\N\NBOTTOMLINEFILEHANDLECLOSE然后,我们读取TESTTXT,并将内容显示出来1FILEHANDLEOPENTESTTXT2PRINTFILEHANDLEREAD3FILEHANDLECLOSEFILEHANDLEOPENTESTTXTPRINTFILEHANDLEREADFILEHANDLECLOSE以上语句将读取整个文件并显示其中的数据。我们也可以读取文件中的一行1FILEHANDLEOPENTESTTXT2PRINTFILEHANDLEREADLINE“THISISATEST“3FILEHANDLECLOSEFILEHANDLEOPENTESTTXTPRINTFILEHANDLEREADLINE“THISISATEST“FILEHANDLECLOSE同时,也可以将文件内容保存到一个LIST中1FILEHANDLEOPENTESTTXT2FILELISTFILEHANDLEREADLINES3FORFILELINEINFILELIST4PRINT,FILELINE5FILEHANDLECLOSEFILEHANDLEOPENTESTTXTFILELISTFILEHANDLEREADLINESFORFILELINEINFILELISTPRINT,FILELINEFILEHANDLECLOSEPYTHON在读取一个文件时,会记住其在文件中的位置,如下所示1FILEHANDLEOPENTESTTXT2GARBAGEFILEHANDLEREADLINE3FILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLECLOSEFILEHANDLEOPENTESTTXTGARBAGEFILEHANDLEREADLINEFILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLECLOSE可以看到,只有第二行显示出来。然而,我们可以让PYTHON从头开始读来解决这个问题1FILEHANDLEOPENTESTTXT2GARBAGEFILEHANDLEREADLINE3FILEHANDLESEEK04PRINTFILEHANDLEREADLINE“THISISATEST“5FILEHANDLECLOSEFILEHANDLEOPENTESTTXTGARBAGEFILEHANDLEREADLINEFILEHANDLESEEK0PRINTFILEHANDLEREADLINE“THISISATEST“FILEHANDLECLOSE在上面这个例子中,我们让PYTHON从文件第一个字节开始读取数据。所以,第一行文字显示了出来。当然,我们也可以获取PYTHON在文件中的位置1FILEHANDLEOPENTESTTXT2PRINTFILEHANDLEREADLINE“THISISATEST“3PRINTFILEHANDLETELL“17“4PRINTFILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLEOPENTESTTXTPRINTFILEHANDLEREADLINE“THISISATEST“PRINTFILEHANDLETELL“17“PRINTFILEHANDLEREADLINE“REALLY,ITIS“或者在文件中一次读取几个字节的内容1FILEHANDLEOPENTESTTXT2PRINTFILEHANDLEREAD1“T“3FILEHANDLESEEK44PRINTFILEHANDLEREAD1““原文有错FILEHANDLEOPENTESTTXTPRINTFILEHANDLEREAD1“T“FILEHANDLESEEK4PRINTFILEHANDLEREAD1““原文有错在WINDOWS和MACINTOSH环境下,有时可能需要以二进制方式读写文件,比如图片和可执行文件。此时,只要在打开文件的方式参数中增加一个“B”即可1FILEHANDLEOPENTESTBINARYTXT,WB2FILEHANDLEWRITETHEREISNOSPOON3FILEHANDLECLOSEFILEHANDLEOPENTESTBINARYTXT,WBFILEHANDLEWRITETHEREISNOSPOONFILEHANDLECLOSE1FILEHANDLEOPENTESTBINARYTXT,RB2PRINTFILEHANDLEREAD3FILEHANDLECLOSEFILEHANDLEOPENTESTBINARYTXT,RBPRINTFILEHANDLEREADFILEHANDLECLOSE二、从现有文件中获取信息使用PYTHON中的模块,可以从现有文件中获取信息。使用“OS”模块和“STAT”模块可以获取文件的基本信息1IMPORTOS2IMPORTSTAT3IMPORTTIME45FILESTATSOSSTATTESTTXT6FILEINFO{7SIZEFILESTATSSTATST_SIZE,8LASTMODIFIEDTIMECTIMEFILESTATSSTATST_MTIME,9LASTACCESSEDTIMECTIMEFILESTATSSTATST_ATIME,10CREATIONTIMETIMECTIMEFILESTATSSTATST_CTIME,11MODEFILESTATSSTATST_MODE12}1314FORINFOFIELD,INFOVALUEINFILEINFO15PRINTINFOFIELD,INFOVALUE16IFSTATS_ISDIRFILESTATSSTATST_MODE17PRINTDIRECTORY18ELSE19PRINTNONDIRECTORYIMPORTOSIMPORTSTATIMPORTT