zoukankan      html  css  js  c++  java
  • 文件操作part1

    什么是文件?

      文件是操作系统提供给用户/应用程序的一种虚拟单位,该虚拟单位直接映射的是硬盘空间

    为何要处理文件

      用户/应用程序直接操作文件(读写)就是被操作系统转换成具体的硬盘操作,从而实现用户/应用程序的将内存中的数据永久保存到硬盘

    怎么使用文件操作

    # 文件处理的三个步骤
    # f=open(r'c.txt',mode='r',encoding='utf-8') # 文件对象(应用程序的内存资源)------》操作系统打开的文件(操作系统的内存资源)
    # # print(f)
    # data=f.read()
    # f.close() # 向操作系统发送信号,让操作系统关闭打开的文件,从而回收操作系统的资源

    文件操作的基本格式:

    参数说明:

      第一参数是文件的路径(可以使用绝对路径和相对路径两种)r加在字符串前面的意思是字符串内转义符没有使用。

      第二参数是读取的方式。主要有r,w,a,rb,wb,ab等

      第三参数是设定解码的字符编码。用于r,w,a 模式下。

      f是文件操作的对象,存在应用程序的内存中,同时操作系统也在内存中开辟对文件操作的内存空间。

      f.close()就是为了帮助操作系统将对文件操作的内存空间释放掉。

    上下文管理

      上下文管理的作用,就是将内存的释放交由with关键字自动释放。减少每次f.close()的繁琐

      示例:

    # with open(r'c.txt',mode='r',encoding='utf-8') as f,open(r'b.txt',mode='r',encoding='utf-8') as f1:
        # 读写文件的操作
        # pass

    如何使用文件操作:本章中只演示r rb的功能

    r (rt)只读文本模式模式,需要指定相应文件的解码字符编码,只能读文本格式文件,直接读取Unicode

    只读模式,在文件不存在时则报错,如果文件存在文件指针跳到文件的开头
    with open(r'c.txt',mode='rt',encoding='utf-8') as f:
        print(f.read())#读取文本所有内容
        print(f.readable())#是否可读
        print(f.writable())#False
        f.write('hello') #报错,只能读不能写

    rb 只读二进制模式,不需制定相应的字符编码,所有格式的文件都可以读出来,将硬盘中保存的二进制加载如内存中

    with open(r'c.txt',mode='rb') as f:
        data=f.read()
        # print(data,type(data))#Bytes格式
        res=data.decode('utf-8')#解码成为unicode二进制
        print(res)

    read()   readline()  readlines()的区别

    read将整个文件内容全读出来,readline()是根据 逐行读取。readlines()是依据 划分为列表

    with open(r'c.txt',mode='rt',encoding='utf-8') as f:
        # line=f.readline()
        # print(line,end='')
        # line1=f.readline()
        # print(line1,end='')
        # line2 = f.readline()
        # print(line2,end='')
    
        lines=f.readlines()
        print(lines)
    with open(r'c.txt',mode='rt',encoding='utf-8') as f:
        line=f.readline()
        print(line,end='')

    for循环逐条读取内容

    with open(r'c.txt',mode='rt',encoding='utf-8') as f:
        for line in f:
            print(line,end='')
  • 相关阅读:
    Longest Palindromic Substring
    Median of Two Sorted Arrays
    Longest Substring Without Repeating Characters
    Add Two Numbers
    Two Sum
    如果要面试
    nodejs zip 安装配置
    如何从官网下载 Google Chrome 离线安装包
    eval和new Function的区别
    WebStorm开发React项目,修代码之后运行的项目不更新
  • 原文地址:https://www.cnblogs.com/msj513/p/9676195.html
Copyright © 2011-2022 走看看