Python中的文件操作
对文件的所有操作的建立在文件被打开的状态
1>打开文件通过:
(1)绝对路径:fp = open(r'F:\my_python\data.txt',‘参数1’,'参数2‘)== fp = open('F:\\my_python\\data.txt',‘参数1’,'参数2‘),其中“ ‘ ”前边的 'r' 表示绝对路径中的 “ \ ”代表本身,相当于省去 ‘ r ’用‘ \\ ’。
(2)相对路径:import os 模块,调用os.chdir()函数,将工作目录切换到操作文件所在的目录下,例如:os.chdir(f'F:\my_python') fp = open('data.txt')
2>可以对文件进行:‘r’(读)、'w'(写)、‘rw’(读写)、'a'(追加),若为二进制文件则在前边四种格式控制后添加' b '。
(1)'r':读的操作有fp.read(参数)表示读取文件中的所有内容,参数表示读取的字符数或字节数;fp.readlines()表示按行读取;fp.readline()表示每执行一次读取一行的数据;在read()和readlines()操作之后,文件内容的指针指向文件的结尾,若要重新读取文件的内容,需要用fp.seek(0)将文件内容的指针移到开头。否则读取文件内容为空。
(2)'w':写的操作有fp.write(参数)表示向文件中写入参数中的内容,参数为字符型,fp.writelines(参数)表示向文件中写入多行,参数表示列表名,若以‘ w ’的方式打开文件,则在写入的过程中,原有的数据会被清空。若要在原有的文件中添加内容,则需要用下边的打开方式。
(3)'a':追加的操作表示在原有的文件中添加内容,原有的内容会被保留。
3>注:
(1)对文件的所有操作完成之后,文件时没有被保存的,若要显示文件的内容,需要调用文件的操作fp.flush(),将文件内容刷新到文件,关闭文件fp.close(),此时文件才会被保存。
(1)若文件读取错误,有可能是编码方式错误,保存的文件编码方式要和Python打开的编码方式相同;
(2)在进行“写”操作时,若当前目录下不存在次文件,则建立新的文件,并以输入的文件名命名;
4)对文件的操作结束后,可直接保存文件,可用:with open(r'F:\my_python\data.txt',‘参数1’,'参数2‘) as fp: fp.wirite()操作,代码运行完毕后,文件自动保存。