zoukankan      html  css  js  c++  java
  • python 文件的基本操作

     文件的概念

     文件的概念和作用

    1.计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据

    2.长期存储设备包括:硬盘、U 盘、移动硬盘、光盘...

    文件的作用

    1.将数据长期保存下来,在需要的时候使用。

    文件的存储方式

    1.在计算机中,文件是以 二进制 的方式保存在磁盘上的

    文本文件和二进制文件

    1.文本文件

    2.可以使用 文本编辑软件 查看

    3.本质上还是二进制文件

    例如:python 的源程序

    1.二进制文件

    2.保存的内容 不是给人直接阅读的,而是 提供给其他软件使用的

    3.例如:图片文件、音频文件、视频文件等等

    4.二进制文件不能使用 文本编辑软件 查看

    python 中文件的基本操作:

    不同模式打开文件的完全列表:

    模式描述
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    file对象相关的所有属性的列表:

    属性描述
    file.closed 返回true如果文件已被关闭,否则返回false。
    file.mode 返回被打开文件的访问模式。
    file.name 返回文件的名称。
    file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

    例子1

    #打开一个文件 名叫login.txt  以 w 的方式读取
    File = open("login.txt", "w",encoding="UTF-8")
    #向文件写入一行数据
    File.write("这是第一行
    ")
    File.write("这是第二行
    ")
    File.close()

    注意:open 打开文件不指定路径默认在当前文件夹创建

    执行结果: 会建立一个文件并将内容写入进去

    例子2

    #打开一个文件 将一条信息追加进去
    loginFile = open("login.txt", "a",encoding="UTF-8")
    loginFile.write("这是第3行
    ")
    #关闭文件
    loginFile.close()

    执行结果:可以看到文件又多加了一行

    例子3

    f6  = open("login.txt","rb")                 #以二进制文件格式读这个文件
    print(f6.readline())
    print(f6.readline())
    print(f6.readline())
    f6.close()

    例子4

    #with语句作用,为了避免打开文件后忘记关闭
    
    with open("file_test","r",encoding="utf-8") as f:          #类似于f = open("file_test","r",encoding="utf-8")
    
    with open("file_test","r",encoding="utf-8") as f,         #还可以同时打开多个文件
            open("file_test2","r",encoding="utf-8") as f2:

    例子5

    #flush用法
    f = open("file_test","w",encoding="utf-8")
    f.write("hello
    ")
    f.write("hello
    ")
    f.write("hello
    ")
    f.flush()       #当往文件写内容的时候,会有一个缓存,达到一个时间,一次往文件写入。如果这时候断电可能内容并没有写入成功,flush刷新会立即执行

    文件的修改

    #打开一个文件,修改完了写到一个新文件
    f = open("file_test","r",encoding="utf-8")
    f_new = open("file_new","w",encoding="utf-8")
    for line in f:                               #按行取出,每行都是一串字符串
        if "fengxiaoli" in line:
            line = line.replace("fengxiaoli","FENGXIAOLI")       #对字符串进行操作,J
        f_new.write(line)
    f.close()
    f_new.close()
  • 相关阅读:
    CentOS重置Mysql密码
    2017年2月21日20:35:46
    UEFI+GPT安装windows
    CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
    CentOS利用nginx和php-fpm搭建owncloud私有云
    Docker安装CentOS
    CoreOS和Docker入门
    Docker命令学习
    CentOS安装Redis详细教程
    Redis的三种启动方式
  • 原文地址:https://www.cnblogs.com/love2000/p/12078221.html
Copyright © 2011-2022 走看看