Python学习之路第六天 文件操作

文件操作基础:

f = open(" 文件路径即文件 " , mode= "模式" , encoding = "编码")

  • open:调用操作系统打开文件
  • mode:对文件的操作方式
  • encoding:文件的编码 --存储编码要统一
    1. win:gbk
    2. linux:unicode
  • f:文件句柄,操作文件的(相当于把手)
  • 路径分为
    • 绝对路径
    • 相对路径:../放回上一级--推荐使用

文件操作--读:

f = open ( " e:/文件.txt " , mode = " r " , encoding = " utf-8 " )

  • f.read( ):全部读取

  • f.read(3):读取三个字符

  • for line in f : #一行一行读取 , 迭代读取

    ​ print(line) #防止内存溢出

  • f.readline( ):读取一行的内容

  • f.readlines( ):一行一行读取 , 存储的列表中

  • 绝对路径:F:\a\文件.txt , 从磁盘的根目录查找

  • 相对路径:相对于当前文件进行查找

  • f.close( ):操作之后要关闭 , 否则占用内存 , 关闭之后就不能读取了

文件操作--写:

f = open ( " e:/文件.txt " , mode = " w " , encoding = " utf-8 " )

  • e:/文件.txt , 如果文件不存在 , 就创建一个 , 存在就打开
  • f.write( ):w分为两步 , 先清空 , 后写入

文件操作--追加写:

f = open ( " e:/文件.txt " , mode = " a " , encoding = " utf-8 " )

  • f.write( ):在文件末尾添加

文件操作--读 , 非文本:

f = open ( " e:/图片.jpg " , mode = " rb ")

  • rb , wb , ab :不能指定编码

文件操作--写 , 非文本:

f = open ( " e:/图片.jpg " , mode = " wb ")

  • 爬虫 , 文件拷贝

文件操作--追加 , 非文本:

f = open ( " e:/图片.jpg " , mode = " ab ")

  • 类似wb

文件操作--先读后写:

f = open ( " e:/文件.txt " , mode = " r+ " , encoding = " utf-8 " )

  • 正确:要先读后写 , 写的内容加在后面
  • 错误:先写后读 , 光标在0 , 写的内容会根据字符覆盖原有内容

文件操作--清空写读:

f = open ( " e:/文件.txt " , mode = " w+ " , encoding = " utf-8 " )

  • 直接读读不到 , 因为光标在末尾

文件操作--追加写读:

f = open ( " e:/文件.txt " , mode = " a+ " , encoding = " utf-8 " )

- 在末尾直接追加

文件操作--with open

with open ( " e:/文件.txt " , mode=" r " , encoding= " utf-8 " ) as f1,
​ open ( " e:/壁纸.txt " , mode=" w " , encoding= " utf-8 " ) as f2:

文件操作--其他操作:

- f.tell( ):查看光标所在位置 , 查看的是字节 , 返回的就是当前光标位置
- f.seek( ): 移动光标
  1. f.seek(0,0):光标移动到开头
  2. f.seek(0,1 ):光标在当前位置
  3. f.seek( 0,2):光标移动到末尾
  4. f.seek(n):按照字节n调节

猜你喜欢

转载自www.cnblogs.com/ly0123/p/11907162.html