读取和写入
打开文件时需要指定文件的名字。
如果文件存储在其他文件夹时要在文件名前面加上文件夹路径;
如果读取与程序在相同文件夹中的文件时,直接函数打开文件。
- 打开文件
①以读模式打开
infile=open('input.txt','r')
返回一个与文件关联的文件对象。
调用open()函数返回的文件对象必须保存在一个变量中,所有处理文件的操作都通过这个文件对象来完成。
②以写模式打开
outfile=open('input.txt','w')
如果输出文件已经存在,在写入新数据之前会被清空;
如果文件不存在会创建一个空文件。处理完文件之后确定使用cloes()方法关闭文件:
infile.close()
outfile.close()
如果程序以写模式打开了文件,但退出时没有关闭文件,有些输出可能并没有写入到磁盘文件。
- 读取文件
line=infile.readline() #包括表示行尾的换行符\n
line=infile.readline()
while line!='':
Process
line=infile.readline()
- 写入文件
①write()方法
接受单个字符作为参数 并立刻将字符串写入。
字符串被追加到文件尾部,跟在之前写入到文件得任何文本后面。
#显式写一个换行符另起一行
>>>outfile.write('abc\n')
#写入格式化的字符串
>>>outfile.write('%15.2f\n'%value)
>>>print('{:>15}'.format('-'*10),file=outfile)
②print()函数写入
print('abc',file=ooutfile) #自带换行符
print('abc',end='',file=ooutfile) #使用end参数修改换行
文本输入和输出
1.迭代文本中的行
for line in infile:
print(line)
#line 包括\n
在使用输入字符串之前必须删除换行符(空白字符:空格、制表、换行符)
#删除字符串尾部得指定字符
line=line.rstrip() #尾部,右侧
line=line.lstrip() #首部,左侧
line=line.strip() #两侧
line=line.rstrip('.?') #指定
2.读取单词
先读取一行,然后将其分割成独立的单词
#返回在每个空白字符处对原始字符串进行切换得到的子字符串的列表,
#并且按在字符串中出现的相同顺序存储到一个列表wordlist中。
wordlist=line.split()
for word in wordlist:
word.rstrip('.,?!') #删除标点
print(word)
3.读取单个字符
read()方法接收一个参数用来指定要读取的字符数量,返回包含读取的字符的字符串。
char=infile.read(1) #每次读取一个
while char!='':
Process
char=infile.read(1)
二进制文件
1.读写
infile=open(filename,'rb')
infile=open(filename,'wb')
不能读取文本字符串,而是独立的字节
theBytes=infile.read(4) #读取4个字节
read()方法
2.随机访问