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向文件输出_字符串_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向文件输出_python怎样输出文件流_06

 

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

python怎样输出文件流 python向文件输出_python怎样输出文件流_07

第二个例子:

python怎样输出文件流 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模块