《python基础教程(第二版)》学习笔记 文件和素材(第11章)

打开文件:
open(filename[,mode[,buffering]])

mode是读写文件的模式
f=open(r‘c:\somefile.txt‘) #默认是读模式
+ 表示是可以读写;r 读模式;w 写模式;a 追加模式;b 二进制模式;
换行符在Windows为\r\n,在Unix中为\n, Python会自动转换;

buffering缓冲;0表示无缓冲;1表示有缓冲(使用flush或close才会写到硬盘中);

sys.stdin 标准输入;sys.stdout 标准输出; sys.stderr 错误信息;

f=open(‘aaa.txt‘,‘w‘)
f.write(‘Hello,‘)
f.write(‘world!‘)
f.close()

f=open(‘aaa.txt‘,‘r‘)
f.read(4) # 读取4个字符
f.read() # 读取剩余的内容

管道输入/输出
text=sys.stdin.read()

f.readline() 读取一行
f.readline(5) 读5个字符
f.readlines() 读取全部行并作为列表返回
f.writelines() 输入参数是列表,把内容写入到文件中;不会添加新行;

关闭文件 f.close()

with open(‘aaa.txt‘) as somefile:
   do_something(somefile)

按字节处理
f=open(filename)
char=f.read(1)
wile char:
  process(char)
  char=f.read()
f.close()

f=open(filename)
while True:
  char=f.read(1)
  if not char: break
  process(char)
f.close()

按行处理
f=open(filename)
while True:
  line=f.readline()
  if not line: break
  process(line)
f.close()

用read迭代每个字符
f=open(filename)
for char in f.read():
  process(char)
f.close()

用readlines迭代行
f=open(filename)
for line in f.realines():
  process(line)
f.close()

对大文件实现懒惰行迭代
import fileinput
for line in fileinput.input(finename):
   process(line)
   
迭代文件
f=open(filename)
for line in f:
   process(line)
f.close()

时间: 2024-12-08 00:08:59

《python基础教程(第二版)》学习笔记 文件和素材(第11章)的相关文章

python基础教程第二版读书笔记

第一张 基础知识 模块 import 模块:用函数的时候格式 模块.函数 from 模块 import 函数:用函数的时候格式  函数 字符串 ‘x‘反引号(不是单引号‘’,也可用repr函数),可以将数值x变为字符串,例如x=1,print ”hello“+x(错误),print ”hello“+‘x‘(对的) r-原始字符串,即\将不作为转义符号,例如r”c:\n“ 第二章 列表和元祖(列表可以修改,元祖不能修改) 列表 x=['a',1] y=['b',2] c=[x,y] 索引 0-第一

读书笔记--《Python基础教程第二版》--第2章列表和元组

第二章 列表和元组 2.1 序列的概览 序列:每个元素被分配一个序号  6种:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象         序列可以嵌套序列          python容器的概念:序列.字典.集合 2.2 通用序列的操作 索引.分片.加.乘.属于.长度,最大值.最小值.迭代 2.2.1 索引 >>> greeting='Hello' >>> greeting[0] 'H' >>> greeting[-

<<Python基础教程>>学习笔记 | 第11章 | 文件和素材

打开文件 open(name[mode[,buffing]) name: 是强制选项,模式和缓冲是可选的 #假设文件不在.会报以下错误: >>> f = open(r'D:\text.txt','r') Traceback (most recent call last): File "<stdin>", line 1, in <module> IOError: [Errno 2] No such file or directory: 'D:\\

读书笔记--《Python基础教程第二版》--第七章 更加抽象

7.1 对象的魔力 多态 不同的类的对象使用同样的操作 封装 继承 7.1.1 多态 1.多态和方法 >>>object.getPrice() >>> 'abc'.count('a') 1 >>> [1,2,'a'].count('a') 1 >>> from random import choice >>> x=choice(['Hello world!',[1,2,'e','e',4]]) >>>

读书笔记--《Python基础教程第二版》-- 第四章 字典:当索引不好用时

字典里的键可以是数字.字符串.元组 4.1 字典的使用 >>> name=['Alice','Beth','Earl'] >>> numbers=['2341','9102','0142'] #电话号码必须使用字符串,二不能是整数,因为电话号码可能以0开头 >>> numbers[name.index('Beth')] '9102' 4.2 创建和使用字典 >>> data ={'title':'My Home Page','text

读书笔记--《Python基础教程第二版》-- 第五章 条件、循环和其他语句

5.1 print和import的更多信息 5.1.1 使用独号输出 >>> print 'Age:',42 Age: 42 >>> 1,2,3 (1, 2, 3) >>> print 1,2,3 1 2 3 >>> print (1,2,3) (1, 2, 3) >>> name='Gumby' >>> greeting='Hello' >>> salutation='Mr.'

读书笔记--《Python基础教程第二版》--第六章 抽象

6.1 懒惰即美德 >>> fibs=[0,1] >>> for i in range(8): ...  fibs.append(fibs[-2]+fibs[-1]) ... >>> fibs [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 6.2 抽象和结构 page=download_page() freqs=compute_frequencies(page) for word,freq in freqs: print word

&amp;lt;&amp;lt;Python基础教程&amp;gt;&amp;gt;学习笔记 | 第12章 | 图形用户界面

Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ 丰富的平台: Tkinter实际上类似于标准,由于它被用于大多数正式的Python GUI程序.并且它是Windows二进制公布版的一部分. 可是在UNIX上要自己编译安装. 还有一个越来越受欢迎的工具是wxPython. 这是个成熟并且特性丰富的包,也是Python之父,Guido van Ro

Jquery基础教程第二版学习记录

本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做什么:为什么需要jquery. 第二章:选择符工厂函数$()css选择符属性选择符自定义选择符DOM遍历方法 第三章:事件jQuery.noConflict([extreme]):运行这个函数将变量$的控制权让渡给第一个实现它的那个库.常用方法:(包括键盘,鼠标事件)blur([[data],fn]

Python基础教程系列:九、文件操作

一.open()函数 open()以及file()(open()与file()等价,可以任意替换)提供了初始化输入/输出(I/O)操作的通用接口.open()函数成功打开一个文件后就会返回一个文件对象,说白了你就可以接着读写了,否则就bug了. 语法:file_object = open(file_name, access_mode='r', buffering=-1) 第一个参数是文件名或者路径(绝对或相对路径),第二个参数叫文件打开的模式,不写时默认是'r'模式.'r'模式是只读模式.'w'