老朋友,熟面孔,新特点.

1.基础操作

对文件的基础操作是打开和关闭,打开文件是读取/写入内容的前提,而关闭文件是确保内容安全的必要措施和习惯.

打开文件:f=open('filename')

  • 对应的open()函数的语法如下:
    open(file, mode=’r’, buffering=- 1, encoding=None, errors=None, newline=None, closefd=True,opener=None)

关闭文件:f.close()

  • 这是一种显式的关闭文件.
  • with语句是可以自动关闭文件的,如with open('filename') as f: dosomething().

2.具体操作

对于文件的具体操作主要是指读和写,按照具体的读写形式,可以细分为很多不同的类型.
2.1 open()函数的设定:mode参数决定了可以对文件进行的具体操作,它包括了4种主要模式'r','w','x','a'(读,写,排他性创建,追加写入)和3种需要与主要模式一起使用的结合模式'b','t','+'(二进制,文本模式,打开用于更新).
2.2 基本的读写:f.read(n), f.write("文本内容")
2.3 进阶的读写:f.readline(), f.readlines(),f.writeline()

3.迭代文本内容

  • 对于文本内容比较多的情况,可以每次读入指定数量的字符(f.read(n))或读入一行(f.readline())
  • 对于文本内容不太多的情况,可以分别以字符为单位(f.read())或者以行为单位(f.readlines())一次读取全量,示例代码(略,使用with open()语句):
  • 使用fileinput实现延迟迭代(此处没太理解,是说这里读入的文本数量是可以由实际运行情况决定的?)
  • 将文件对象直接作为迭代的对象(迭代器),好处:1)避免了将文件对象as f,节省了代码量;2)让Python负责关闭文件,避免了手动关闭.例如代码:for line in open(filename): process(line)