[Python][华为云Python编程创造营][学习笔记][08_IO操作]

举报
John2021 发表于 2021/11/08 05:39:38 2021/11/08
【摘要】 1,文件的读写操作    1.1,读文件中的内容:        - open(filename,mode,encoding):打开文件,返回文件操作对象。            filename:文件名。            mode:文件打开模式。            encoding:编码格式。        - f.read(size):返回文件中的内容。            ...

1,文件的读写操作

    1.1,读文件中的内容:

        - open(filename,mode,encoding):打开文件,返回文件操作对象。
            filename:文件名。
            mode:文件打开模式。
            encoding:编码格式。
        - f.read(size):返回文件中的内容。
            size,控制一次读取的内容大小
        - f.readline():一次只读取一行的内容
            文本文件中的/n被视为换行。
        - f.readlines():按行读取所有,返回一个列表,每一项的内容为一个f.readline()。

f=open("hello.txt","r")
print(f.read())  # 全部读取
print(f.readline())  # 只读取一行
print(f.readlines())  # 全部读取,列表返回
f.close()

    1.2,写入文件内容:

        - 使用写模式打开不存在的文件可以新建文件

# 覆盖写入,如果文件不存在,会创建新的文件,如果已存在则覆盖原有内容
str_="""小说内容,此处省去十万字"""
f=open("重生之我是程序员.txt","w")
f.write(str_)  # 写入内容
f.close()
# 追加写入,如果文件不存在,会创建新的文件,如果已存在则追加写入
f=open("重生之我是程序员.txt","a")

    1.3,保存文件内容

        - 数据是先写入缓存,在保存时会写入到磁盘中
        - f.close():关闭文件。
            在关闭时会将数据写入到磁盘中
            文件读写时不加入close方法可能会造成数据丢失
            长时间不关闭打开的文件,会出现异常
        - f.flush():将缓存内容写入磁盘。

    1.4,文件常用操作函数

        - f.tell():返回当前文件读取位置
        - f.seek(off,where):定位文件读写位置。off表示偏移量,正数向结尾移动,负数向开头移动。where为0表示起始位置开始,1表示当前位置,2表示结尾位置。

    1.5,常用的模式

       img1.png

      img2.png

2,上下文管理器

    2.1,让文件自己关闭

        - 在操作文件后容易忘记使用close方法关闭文件,有什么方法能让文件自己关闭?
        - 使用with语句
            with open(file_name,mode,encoding) as f:
                # 文件操作语句
        - 不需要手动关闭

    2.2,上下文管理器

        - with为上下文管理器
        - 上下文管理器是指在一段代码执行之前执行一段代码,用于一些预处理工作;执行之后再执行一段代码,用于一些清理工作。
        - 在上下文管理器协议中,有两个方法__enter__和__exit__,分别实现预处理和清理功能。
        - 使用上下文管理器操作文件可以在操作结束后自动关闭文件。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。