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)