io流
主要指的是计算机输入和输出的操作,一般来说是内存与磁盘之间的输入与输出
IO流操作是一种持久化操作,是将数据持久化在磁盘上
python如何操作io流
通过open全局函数-----主要作用是打开本地的文件
open函数解析:
第一参数:file 打开文件的文件名或者路径
第二参数:mode 打开模式 (默认字符输入流)
其他参数
mode:
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' create a new file and open it for writing
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
'U' universal newline mode (deprecated)
操作例子:
from os import path #导入io流
>>> path.abspath(".")
'C:\\Users\\hp' #查看当前路径
>>> open("fg.txt") #打开当前路径下的文件
<_io.TextIOWrapper name='fg.txt' mode='r' encoding='cp936'>
>>> f=open("fg.txt","r")
>>> path.abspath(".")
'C:\\Users\\hp'
>>> open("fg.txt")
<_io.TextIOWrapper name='fg.txt' mode='r' encoding='cp936'>
>>> open("C:\\Users\\hp\\fg.txt")
<_io.TextIOWrapper name='C:\\Users\\hp\\fg.txt' mode='r' encoding='cp936'>
>>> f.read()
''
>>> f.close()
IO流分类:
根据数据的流动(站在内存的角度来说)的方向
1、 输入流
/2、输出流
问题:把数据保存在硬盘里是输入流还是输出流?-------输出流
3、字节流 :存储图片、视频等
/4、字符流
IO流操作数据
eg. #覆盖原来的内容
>>> f=open("fa.txt","w")
>>> f
<_io.TextIOWrapper name='fa.txt' mode='w' encoding='cp936'>
>>> f.write("hello")
5 #--------------返回写入字符的个数
>>> f.close() #写入到字符才能显示
eg. #不关闭显示输入的内容
>>> f=open("fa.txt","w")
>>> f.write("哒哒哒哒哒哒哒哒")
12
>>> f.flush()
eg. #不覆盖原来内容
>>> f.flush()
>>> f=open("fa.txt",mode="a")
>>> f.write("dsfsdfd")
7
>>> f.close()