1.文件的类型
文件是数据的抽象和集合,是数据存储的一种形式,类型有两种:文本文件和二进制文件.py。
文本文件由单一特定编码组成,被看成是长字符串,适用于.txt和.py文件;
二进制文件没有统一的字符编码,适用于.png和.avi文件。
2.文件的打开、操作、关闭
1)打开:<变量名>=open(<文件名>,<打开模式>) 文件名如:‘D:/PYTHON/f.txt或‘D:\\PYTHON\\f.txt’’(绝对路径);‘./PYTHON/f.txt’(相对路径)
2)操作(文件读取、写入):
>>> a=open('D:\\test-python\\aaa.txt')
>>> a.read()
'aaa\nvbb\ndsss\ncdsd\nssd'
>>> a.readline()
''
>>> a.seek(0)
0
>>> a.readline(5)
'aaa\n'
>>> a.readlines()#返回列表的形式
['vbb\n', 'dsss\n', 'cdsd\n', 'ssd']
>>> a=open('D:/test-python/exam.py',encoding="utf-8")
>>> a.read() #整体是一个字符串
'n=input()\nif n[-3:] in \'cal\':\n J=eval(n[0:-3])*4.186\n print(\'{:.3f}\'.format(J)+\'J\')\nelif n[-1] in \'J\':\n C=eval(n[0:-1])/4.186\n print(\'{:.3f}\'.format(C)+\'cal\')\nelse:\n print("输入有误")\n'
>>> a.seek(0)#<f>.seek(offset)形式中,offset有0(文件开头),1(当前位置),2(文件结尾)
0
>>> a.readline()
'n=input()\n'
>>> a.readline()
"if n[-3:] in 'cal':\n"
>>> a.seek(0)
0
>>> a.readlines()
['n=input()\n', "if n[-3:] in 'cal':\n", ' J=eval(n[0:-3])*4.186\n', " print('{:.3f}'.format(J)+'J')\n", "elif n[-1] in 'J':\n", ' C=eval(n[0:-1])/4.186\n', " print('{:.3f}'.format(C)+'cal')\n", 'else:\n', ' print("输入有误")\n']
打开模式:
'r'-只读模式,默认值,如果文件不存在返回FileNotFoundError
'w'-覆盖写模式,文件不存在则创建,存在则完全覆盖
'x'-创建写模式,文件不存在则创建,存在则返回FileExistsError
'a'-追加写模式,文件不存在则创建,存在则在文件最后追加
'b'-二进制文件模式
't'-文件文本模式,默认值
'+'-与r/w/x/a一同使用,在原功能上增加同时读写功能
3)关闭:<变量名>.close()