python学习(十一) 文件和流

11.1 打开文件

  >>> f = open(r‘c:\text\somefile.txt‘),  第一个参数是文件名,必须有;第二个是模式;第三个参数是缓冲。

  11.1.1 文件模式

  如果open函数只带一个文件名参数,那么我们可以获得能读取文件内容的文件对象。如果要向文件内写入内容,则必须提供一个模式参数

  ‘r‘ -----读模式(制定读模式与不制定的效果是一样的)

  ‘w‘-----写模式

  ‘a‘-----追加模式

  ‘b‘-----二进制模式(python假定处理的都是文本文件(包含字符),但是如果是其他类型的文件(二进制),比如声音或者图像,那么要指定 b模式)

    (为什么使用二进制模式:  \n 和 \r\n的转换,但是如果是二进制文件就不会转。)

  ‘+‘-----读写模式

  11.1.2 缓冲

  如果是0(False),I/O就是无缓冲的,所有的读写操作都是直接针对硬盘;

  如果是1(True),就是有缓冲的,使用内存代替硬盘,速度快,只有在flush或close的时候才会更新硬盘上的数据。

  大于1,代表缓冲区大小(单位是字节),-1代表使用默认缓冲区大小。

11.2 基本的文件方法

  11.2.1 读和写

>>> f = open(r‘c:\text\somefile.txt‘,‘w‘)      // 写
>>> f.write(‘abcd \n ef \r\n gh‘)
15
>>> f.flush()                                  //  调用close()或flush()才能真正写进去

>>> f=open(r‘c:\text\somefile.txt‘, ‘r‘)       // 读
>>> f.read(4)                              // 只读4个
‘abcd‘

>>> f.read()                                  // 读所有的
‘ \n ef \n\n gh‘

  11.2.2 管式输出

  前一个命令的输出是下一个命令的输入,用符号“|”连接

  11.2.3 读写行

  >>> f.readline()
  ‘‘
  >>> f.seek(0)       //  定位到文本开始
  0
  >>> f.readline()      // 读取一个行
  ‘abcd \n‘

  >>> f.readlines()     // 读取所有的行,返回列表
  [‘ ef \n‘, ‘\n‘, ‘ gh‘]

  f.writelines([‘afa‘,‘gdf‘,‘gfdg‘])  // 按行的方式写入列表

  11.2.4 关闭文件 

  对文件操作应该,在finally中调用 f.close(), 这样保证出异常了也可以正确关闭文件。

  11.2.5 使用基本文件方法

11.3 对文件内容进行迭代

  11.3.1 按字节处理 

f = open(filename)
char = f.read(1)
while char:
    process(char)
    char = f.read(1)
f.close()

  11.3.2 按行操作

   readline()

  11.3.3 读取所有内容

  read()   :  不带参数的read方法可以读取所有行。

  readlines(): 读取所有行。

  11.3.4 使用fileinput实现懒惰行迭代

  readline()  每次只读一行。

import fileimput
for line in fileinput.input(filename):
    process(line)

  11.3.5 文件迭代器

f = open(filename)
for line in f:
    processs(line)
f.close()

 

时间: 2024-10-10 08:24:08

python学习(十一) 文件和流的相关文章

python学习11 -文件,流

打开文件 语法如下:open(name,[module[,buffering]]) ,模式 和缓冲参数都是可选的 f = open(r'C:\TEXT\somefile.txt')#如果文件不存在 Traceback (most recent call last): File "<pyshell#64>", line 1, in <module> f = open(r'C:\TEXT\somefile.txt')IOError: [Errno 2] No suc

springMVC3学习(十一)--文件上传CommonsMultipartFile

使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在spring配置文件中配置文件上传解析器 <!-- 文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipar

python学习之-文件和对象

文件和对象文件对象不仅可以用来访问普通的磁盘文件,还能够来访问普通的磁盘文件,也可以访问任何其他类型抽象层面的"文件".内建函数 open() 返回一个文件对象,对该文件进行后续相关的操作都要用到它.文件内建函数 open() 以及 file() 提供了初始化输入/输出(I/O)操作的通用接口.open() 内建函数成功打开文件后会返回一个文件对象,否则引发一个错误.当操作失败,会产生一个IOERROR异常.内建函数 open() 的基本语法:file_object = open(fi

Python学习_06_文件、IO

文件对象 python中的文件操作和c语言比较类似,包括一些缓冲.偏移量的方式. 文件对象可以通过open().file()两个内建方法创建,两个方法并没有什么不同,使用方法和c语言中的fopen()类似: file_object = open(file_name, access_mode='r', buffering=-1) 其中access_mode表示打开方式,r表示只读,w表示只写,r+,w+表示读写,a表示追加等:buffering表示缓冲方式,负值表示默认缓冲方式,0表示不缓冲,1表

Python学习之--文件操作

Python中对文件操作可以用内置的open()函数 读文件 f=open('/home/test/test.txt','r') # 读模式打开文件 f.read() # 读取文件内容 除了正常的读取文件内容,一个常用的操作是判断文件内容是否为空,如下: if len(f.read())==0: # 如果文件内容为空 xxxx 判断一个文件或者路径是否存在,如下(这里需要在代码中导入os module: import os): file='/home/test/test.txt' dir='/h

PYTHON学习之文件操作;

文件内容替换for line in flielinput.input("filepath",inplace=1):line = line.repace("oldtext","newtext")print line, python中对文件.文件夹(文件操作函数)的操作需要涉及到OS模块和shutil模块.1.得到当前工作目录,即当前PYTHON脚本工作的目录路径:os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3

python学习——大文件分割与合并

在平常的生活中,我们会遇到下面这样的情况: 你下载了一个比较大型的游戏(假设有10G),现在想跟你的同学一起玩,你需要把这个游戏拷贝给他. 然后现在有一个问题是文件太大(我们不考虑你有移动硬盘什么的情况),假设现在只有一个2G或4G的优盘,该怎么办呢? 有很多方法,例如winrar压缩的时候分成很多小卷,这里不累述. 在学习python之后,我们自己就可以解决这个问题啦. 我们可以自己写一个脚本去分割合并文件,将文件分割成适合优盘大小的小文件,在拷贝,然后再合并. 下面是文件分割脚本: 1 im

python学习(十一)测试和调试

最近学习了python的错误处理和几种测试方法 1 try except 可以通过try except方式捕捉异常 try: print('try...') r = 10/0 print('result is :', r) except ZeroDiversionError as e: print('except is :', e) finally: print('finally ...') print('END') 可以捕捉不同类型的错误,编写多个except try: print('try.

python学习8 文件的操作

本文拷贝了on testing 的<python之文件操作:文件的读写>,只做学习之用 python的文件读写通过 一.用open函数 二.对文件读写操作 三.读取文件位置定位 1. open函数open(file_name[,access_mode][,buffering]) (1)参数说明 open(file_name[,access_mode][,buffering])      打开文件,获得文件的句柄 file_name:包含文件路径的字符串,可以是绝对路径也可以是相对路径,尽量使用

Python学习:文件

内置open()函数会创建一个Python文件对象,可以作为计算机上的一个文件链接.在调用open()之后,可以通过调用返回文件对象的方法来读写相关外部文件. 打开文件: output = open('C:\spam', 'w')       #打开文件,模式为写入 input = open('C:\spam', 'r')        #打开文件,模式为读出 input = open('C:\spam')             #同上,默认为'r' 文件的读操作: aString = f.r