您的位置:首页 > 编程语言 > Python开发

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

2017-03-17 20:06 302 查看

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐