第十一章-文件和流——python基础教程(第二版)笔记

11.1打开文件

f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\1.txt')  #打开文件
#11.1.1文件模式
#r,读模式,w写模式,a追加模式,b二进制模式,+读写模式

11.2基本的文件方法

#11.2.1读和写
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\1.txt','w') 
f.write('hello')
f.write('world')
f.close()
#  文本里面是 helloworld
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\1.txt','r') 
print f.read(4) #输出结果 hell
print f.read()  #输出结果 owold

#11.2.2管式输出
#统计sys.stdin重点单词数和简单脚本
'''
import sys
text=sys.stdin.read()
words=text.split()
wordcount=len(words)
print 'wordcount:',wordcount
'''
#11.2.5
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
#按行读
for i in range(3):
    print str(i)+':'+f.readline()
f.close()
'''
0:123

1:1213ad

2:dada
'''

import pprint
pprint.pprint(open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt').readlines())
f.close()
#输出结果  ['123\n', '1213ad\n', 'dada\n', 'aa ad\n', 'as']

#写文件
lines="abc\n"
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\1.txt','w') 
f.writelines(lines)
f.close()

11.3对文件内容进行迭代


#11.3对文件内容进行迭代
    #11.3.1按字节处理
def process(string):
    print "process:",string
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
char=f.read(1)
while char:
    process(char)
    char=f.read(1)
f.close
'''
process: 1
process: 2
process: 3
process:

process: 1
process: 2
process: 1
process: 3
process: a
process: d
process:

process: d
process: a
process: d
process: a
process:

process: a
process: a
process:
process: a
process: d
process:

process: a
process: s
'''
#另一种循环方式
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
while True:
    char=f.read(1)
    if not char:break
    process(char)
f.close  #输出结果同上

    #11..3.2按行操作
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
while True:
    line=f.readline()
    if not line:break
    process(line)
f.close()
'''
process: 123

process: 1213ad

process: dada

process: aa ad
'''

    #11.3.3读取所有内容
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
for char in f.read():
    process(char)
f.close
'''
process: 1
process: 2
process: 3
process:

process: 1
process: 2
process: 1
process: 3
process: a
process: d
process:

process: d
process: a
process: d
process: a
process:

process: a
process: a
process:
process: a
process: d
process:

process: a
process: s
'''
f=open(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt')
for line in f.readlines():
    process(line)
f.close
'''
process: 123

process: 1213ad

process: dada

process: aa ad

process: as
'''

    #11.3.4使用fileinput实现懒惰行迭代
import fileinput
for line in fileinput.input(r'C:\Users\Kwane\Desktop\PythonApplication1\2.txt'):
    process(line)  #输出结果同上

    #11.3.5文件迭代器
import sys
for line in sys.stdin:
    process(line)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值