1.1文件对象



     不仅可访问普通的磁盘文件,可访问任何其他类型抽象层面上的“文件”。



     “类文件”对象的情况。例如,打开一个URL读取web页面。



1.2文件内建函数 (open(),file())



当open()内建函数成功打开文件后会返回一个文件对象,否则引发错误。当操作失败,python会产生一个IOerror。



基本语法:


file_object=open(file_name,access_mode='r',buffering=-1)

     file_name是要打开的文件名字的字符串,可是相对路径或绝对路径。可选变量access_mode也是一个字符串。文件模式“r”。“w”,“a”,读取,写入和追加。




python输出内容持续输出到文件中 python输出至文件_python


 


1.2.1     工厂函数file()


open()和file有相同的功能,可以任意替换。


一般来说,我们建议使用open()来读写文件,在你想说明你在处理文件对象时使用file().


1.2.2通用换行符支持(UNS)


python输出内容持续输出到文件中 python输出至文件_文件系统_02


 


1.3文件内建方法


     文件方法有四类:输入,输出,文件内移动及杂项操作


1.3.1输入


python输出内容持续输出到文件中 python输出至文件_python_03


>>> fp=file(r'E:\test.txt','r')
>>> fp.read()
'1\n2\n3\n4\n5'


>>> fp=file(r'E:\test.txt','r')
>>> fp.readline()
'1\n'
>>> fp=file(r'E:\test.txt','r')
>>> fp.readlines()
['1\n', '2\n', '3\n', '4\n', '5']


 


1.3.2输出


write()内建方法与read(),readline()相反。


>>> fp=file(r'E:\test.txt','r+')
>>> fp.write('c')
>>> fp.close()


和readlines()一样,writelines()方法是针对列表的操作,它操作一个字符串列表作为参数,将它们写入文件。行结束符不会被自动加入,若需要,得在调用writelines()前给每行结尾加上行结束符。


1.3.3文件内移动


python输出内容持续输出到文件中 python输出至文件_字符串_04


1.3.4文件迭代


     见python迭代,有关文件的输入输出


 


1.3.5其他


     close()通过关闭文件来结束对它的访问。python垃圾收集机制也会在文件对象的引用计数降至零的时候自动关闭文件。


fileno()返回打开文件的描述符。

>>> fp=file(r'E:\test.txt','r+') 
  
 >>> fp.fileno()   
 4

 


1.3.6文件方法杂项


python输出内容持续输出到文件中 python输出至文件_文件系统_05


注意:print语句默认在输出内容末尾后加一个换行符,而在语句后加一个逗号就可以避免了。readline()和readlines()函数不对行里的空白字符做任何处理,所以有必要加上逗号。否则又两个换行符,一个是输入是附带的,另一个是print语句自动添加的


>>> fp=file(r'E:\test.txt','r+') 
  
 >>> for a in fp:   
      print a   

        
 c   

 2   

 3   

 4   

 5   
 >>> fp=file(r'E:\test.txt','r+')   
 >>> for a in fp:   
      print a,   

        
 c   
 2   
 3   
 4

5
>>> 


 


核心笔记:行分隔符和其他文件系统的差异


python输出内容持续输出到文件中 python输出至文件_文件系统_06


 


以下来看1.如何输出到文件 2.展示了文件的输出和输入,以及文件定位seek()和tell()的使用


python输出内容持续输出到文件中 python输出至文件_操作系统_07


第二个例子:


python输出内容持续输出到文件中 python输出至文件_操作系统_08


 


 


1.4文件内建属性


python输出内容持续输出到文件中 python输出至文件_文件系统_09


 


1.5标准文件


     一般来说,只要程序一执行,就可以访问3个标准文件。


标准输入:stdin       raw_input()接收输入


标准输出:stdout     print


标准错误:stderr


python可以通过sys这些文件的句柄


 


1.6命令行参数


     核心技术p244


 


1.7文件系统


对文件系统的访问大多通过python的os模块实现。     


posix:适用于unix系统


nt:win32


mac“macos


dos:DOS


os2:OS


 


 


1.8文件执行


见14章


 


1.9永久存储模块


关系数据库管理RDBMS


1.9.1 pickle和marshal模块


 


1.9.2DBM风格的模块


dumbdbm模块是功能最少的一个。


 


1.9.3shelve模块