Python——fd

定义

  fd为:file desction ,文件描述对象。 用于操作文件内容的对象

   python的相对路径不加/,以模块位置为相对路径!

方法

  open(file , mode="r", encoding="")

    参数:

      file:文件路径。python相对路径为文件所在位置

      mode:读取模式。w写模式,会覆盖,r读模式。

                wb二进制写模式,会覆盖,rb二进制读模式。

                a追加模式,不会覆盖

               +读写模式,可与其他模式混合使用

      encoding:设置字符集。 二进制模式不能设置字符集

    返回值:fd

    返回值意义:返回fd对象

    作用:读取指定路径、指定模式、指定字符集下的文件。获取fd对象

 

  fd.read([n])

    参数:

      n:读取字符个数。

      如果省略读取全部

    返回值:str

    返回值意义:获取n个字符的字符串。

    作用:获取n个字符的str,在此读取从上次读取的位置继续读取。如果是二进制模式返回n个的字节

    

  fd.readline()

    参数:无

    返回值:str

    返回值意义:返回一行的str

    作用:获取文件中一行内容。

 

  fd.readlines()

    参数:无

    返回值:list

    返回值意义:返回文件每行文本字符串的列表

    作用:获取文件每行文本字符串的列表。一般二进制文件用此方法直接操作

 

  fd.write( str )

    参数:字符串

    返回值:无

    返回值意义:无

    作用:将str写入到fd定义的文件中

  

上下文管理语句

  使用with管理 fd对象,在with块结束后fd会自动关闭。这么做为了修改的内容能够正确保存

with open(file="demo.jpg","rb") as fd:
    print(fd.readlines())

  with只能管理实现 __enter__() 方法、__exit__()方法的对象

  在进入的时候调用__enter__()

  在离开的时候调用__exit__()

 

使用  

# 1.读取a.txt的内容,写入到b.txt中
with open(file="a.txt",mode="r",encoding="utf-8") as fd_read:
    with open(file="b.txt",mode="w",encoding="utf-8") as fd_write:
        content = fd_read.read()
        fd_write.writelines(content)

 

# 2.读取demo.jpg,写入demo_new.jpg
with open(file="demo.jpg",mode="rb") as fd_read:
    with open(file="demo_new.jpg",mode="wb") as fd_write:
        fd_write.write(fd_read.read())

 

未来,fd。 二进制读取都有read(),一次性读取全部内容。然后进行写入

posted @ 2021-10-03 20:08  remix_alone  阅读(400)  评论(0)    收藏  举报