python文件操作读写文件.doc
最基本的文件操作当然就是在文件中读写数据。这也是很容易掌握的。现在打开一个文件以进行写操作1FILEHANDLEOPEN TESTTXT , W FILEHANDLEOPEN TESTTXT , W ‘W 是指文件将被写入数据,语句的其它部分很好理解。下一步就是将数据写入文件1FILEHANDLEWRITE THISISATEST\NREALLY,ITIS FILEHANDLEWRITE THISISATEST\NREALLY,ITIS 这个语句将“THISISATEST”写入文件的第一行,“REALLY,ITIS”写入文件的第二行。最后,我们需要做清理工作,并且关闭文件1FILEHANDLECLOSEFILEHANDLECLOSE正如你所见,在PYTHON的面向对象机制下,这确实非常简单。需要注意的是,当你再次使用“W”方式在文件中写数据,所有原来的内容都会被删除。如果想保留原来的内容,可以使用“A”方式在文件中结尾附加数据1FILEHANDLEOPEN TESTTXT , A 2FILEHANDLEWRITE \N\NBOTTOMLINE 3FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT , A FILEHANDLEWRITE \N\NBOTTOMLINE FILEHANDLECLOSE然后,我们读取TESTTXT,并将内容显示出来1FILEHANDLEOPEN TESTTXT 2PRINTFILEHANDLEREAD3FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT PRINTFILEHANDLEREADFILEHANDLECLOSE以上语句将读取整个文件并显示其中的数据。我们也可以读取文件中的一行1FILEHANDLEOPEN TESTTXT 2PRINTFILEHANDLEREADLINE“THISISATEST“3FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT PRINTFILEHANDLEREADLINE“THISISATEST“FILEHANDLECLOSE同时,也可以将文件内容保存到一个LIST中1FILEHANDLEOPEN TESTTXT 2FILELISTFILEHANDLEREADLINES3FORFILELINEINFILELIST4PRINT ,FILELINE5FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT FILELISTFILEHANDLEREADLINESFORFILELINEINFILELISTPRINT ,FILELINEFILEHANDLECLOSEPYTHON在读取一个文件时,会记住其在文件中的位置,如下所示1FILEHANDLEOPEN TESTTXT 2GARBAGEFILEHANDLEREADLINE3FILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT GARBAGEFILEHANDLEREADLINEFILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLECLOSE可以看到,只有第二行显示出来。然而,我们可以让PYTHON从头开始读来解决这个问题1FILEHANDLEOPEN TESTTXT 2GARBAGEFILEHANDLEREADLINE3FILEHANDLESEEK04PRINTFILEHANDLEREADLINE“THISISATEST“5FILEHANDLECLOSEFILEHANDLEOPEN TESTTXT GARBAGEFILEHANDLEREADLINEFILEHANDLESEEK0PRINTFILEHANDLEREADLINE“THISISATEST“FILEHANDLECLOSE在上面这个例子中,我们让PYTHON从文件第一个字节开始读取数据。所以,第一行文字显示了出来。当然,我们也可以获取PYTHON在文件中的位置1FILEHANDLEOPEN TESTTXT 2PRINTFILEHANDLEREADLINE“THISISATEST“3PRINTFILEHANDLETELL“17“4PRINTFILEHANDLEREADLINE“REALLY,ITIS“FILEHANDLEOPEN TESTTXT PRINTFILEHANDLEREADLINE“THISISATEST“PRINTFILEHANDLETELL“17“PRINTFILEHANDLEREADLINE“REALLY,ITIS“或者在文件中一次读取几个字节的内容1FILEHANDLEOPEN TESTTXT 2PRINTFILEHANDLEREAD1“T“3FILEHANDLESEEK44PRINTFILEHANDLEREAD1““原文有错FILEHANDLEOPEN TESTTXT PRINTFILEHANDLEREAD1“T“FILEHANDLESEEK4PRINTFILEHANDLEREAD1““原文有错在WINDOWS和MACINTOSH环境下,有时可能需要以二进制方式读写文件,比如图片和可执行文件。此时,只要在打开文件的方式参数中增加一个“B”即可1FILEHANDLEOPEN TESTBINARYTXT , WB 2FILEHANDLEWRITE THEREISNOSPOON 3FILEHANDLECLOSEFILEHANDLEOPEN TESTBINARYTXT , WB FILEHANDLEWRITE THEREISNOSPOON FILEHANDLECLOSE1FILEHANDLEOPEN TESTBINARYTXT , RB 2PRINTFILEHANDLEREAD3FILEHANDLECLOSEFILEHANDLEOPEN TESTBINARYTXT , RB PRINTFILEHANDLEREADFILEHANDLECLOSE二、从现有文件中获取信息使用PYTHON中的模块,可以从现有文件中获取信息。使用“OS”模块和“STAT”模块可以获取文件的基本信息1IMPORTOS2IMPORTSTAT3IMPORTTIME45FILESTATSOSSTAT TESTTXT 6FILEINFO{7 SIZE FILESTATSSTATST_SIZE,8 LASTMODIFIED TIMECTIMEFILESTATSSTATST_MTIME,9 LASTACCESSED TIMECTIMEFILESTATSSTATST_ATIME,10 CREATIONTIME TIMECTIMEFILESTATSSTATST_CTIME,11 MODE FILESTATSSTATST_MODE12}1314FORINFOFIELD,INFOVALUEINFILEINFO15PRINTINFOFIELD, INFOVALUE16IFSTATS_ISDIRFILESTATSSTATST_MODE17PRINT DIRECTORY 18ELSE19PRINT NONDIRECTORY IMPORTOSIMPORTSTATIMPORTT