《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()

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

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

    打开文件 open(name[mode[,buffing]) name: 是强制选项,模式和缓冲是可选的 #假设文件不在.会报以下错误: >>> f = open(r'D:\text ...

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

    本文仅为个人jquery基础的学习,简单的记录以备忘. 在线手册:http://www.php100.com/manual/jquery/第一章:jquery入门基础jquery知识:jquery能做 ...

  3. <<Python基础教程>>学习笔记 | 第10章 | 充电时刻

    第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简 ...

  4. <<Python基础教程>>学习笔记 | 第04章 | 字典

    第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中.键能够使字符.数字.或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每一个键都是由坐标值组 ...

  5. <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面

    Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...

  6. 第二章、元组和列表(python基础教程第二版 )

    最基本的数据结构是序列,序列中每个元素被分配一个序号-元素的位置,也称索引.第一个索引为0,最后一个元素索引为-1. python中包含6种内建的序列:元组.列表.字符串.unicode字符串.buf ...

  7. python基础教程第二版 第一章

    1.模块导入python以增强其功能的扩展:三种方式实现 (1). >>> Import math >>> math.floor(32.9) 32.0 #按照 模块 ...

  8. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  9. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥

    1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...

随机推荐

  1. nginx 根据参数选择文档根目录

    server  {    listen       80;    server_name  testmanage.h5.91wan.com;    index index.html index.htm ...

  2. C# 接口中的索引器

    索引器可在 接口(C# 参考) 上声明.接口索引器的访问器与类索引器的访问器具有以下方面的不同: 接口访问器不使用修饰符. 接口访问器没有体. 因此,访问器的用途是指示索引器是读写.只读还是只写.以下 ...

  3. 简易web服务器(java版)

    //直接使用 ServerSocket 监听服务器端口,就能实现web服务器package ThreadPoolTest; import java.io.InputStream; import jav ...

  4. Trie树学习

    这几天在看Hadoop的排序,用到了有TotalSortPartition,其中用到了一种叫做trie树的数据结构,每次看到这种自己之前没有听过的数据结构就想去看一下原理,然后再网上看几篇博客,有时间 ...

  5. PHP -- 问题

    @.源码安装,最开始,自己通过 ./config  make  make install三步,啥参数也没加,安装好之后,发现/usr/local/php下就一个man文件夹,死都没找到php-fpm之 ...

  6. github常见错误

    如果输入$ Git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...

  7. SecureCRT的Home+End+Del键映射

    在securecrt界面:工具 → 键映射编辑器,在弹出的键盘中: 1.点击“home”,会弹出一个窗口,在“发送字符串”中输入:\033[1~ 2.点击“end”,会弹出一个窗口,在“发送字符串”中 ...

  8. nginx访问日志中的时间格式修改

    1.说明 默认的时间格式是:[08/Mar/2013:09:30:58 +0800],由$time_local变量表示. 我想要改成如下格式:2013-03-08 12:21:03. 2.需要修改的文 ...

  9. iOS 蓝牙开发之(CoreBlueTooth)

    CoreBlueTooth 简介: 可用于第三方的蓝牙交互设备 设备必须支持蓝牙4.0 iPhone的设备必须是4S或者更新 iPad设备必须是iPad mini或者更新 iOS的系统必须是iOS 6 ...

  10. python基础-第五篇-5.1冒泡排序

    几个月过去了,小白逐渐对公司的后端服务熟悉了,不过这天小白又接到一封神秘邮件,是景女神发来的:公司急需一批对语言算法有些了解的优秀员工,鉴于你在公司的表现很不错,现在给到你一个培训机会,请速到开发部报 ...