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

    1.文件操作基本流程:

    计算机系统分为:计算机硬件,操作系统,应用程序三部分。

    我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来。

    有了文件的概念,我们无需再去考虑操作硬盘的细节,只需要关注操作文件的流程:

    #1. 打开文件,得到文件句柄并赋值给一个变量
    f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
    #2. 通过句柄对文件进行操作
    data=f.read()
    #3. 关闭文件
    f.close()
    三要素:文件路径,编码方式,操作模式。
    open() python的内置函数(内部调用的是windows的系统命令),

    1,打开文件,产生文件句柄。
    2,对文件句柄进行操作。
    3,关闭文件句柄。
    #读
    #r
    对于r读模式mode可以默认不写
    (1)全部读取
    f = open('文件操作1',encoding='utf-8')
    content = f.read()
    print(content)
    f.close()

     (2)按照字符读取

    f = open('文件操作2',encoding='utf-8',mode='r')
    content = f.read(10)
    print(content)
    f.close()

        (3)按行去读

    f = open('文件操作3',encoding='utf-8',mode='r')
    f.readline()
    f.readline()
    f.readline()
    content = f.readline()
    print(content)
    f.close()

       (4)按行读取,返回一个list

    f = open('文件操作4',encoding='utf-8',mode='r')
    content = f.readlines()
    print(content)
    f.close()

       (5)for  循环

    f = open('文件操作5',encoding='utf-8',mode='r')
    for line in f:
        print(line)
    f.close()

    4.rb模式;非文本文件,bytes类型

    f = open('文件操作6',mode='rb')
    content = f.read()
    print(content)
    f.close()

    rb模式按照字节读取

    f = open('文件操作6',mode='rb')
    content = f.read(10)
    print(content)
    f.close()

    r+模式,先读后追加

    f = open('文件操作7',encoding='utf-8',mode='r+')
    content = f.read()
    print(content)
    f.write('22313')
    f.close()

    *不读直接写会导致直接从开始覆盖

    5.写

    #w模式

    #没有文件创建文件也要写

    #有文件,先清空,后写入

    f = open('文件操作8',encoding='utf-8',mode='w')
    f.write('6131')
    f.close()

    #w+模式

    f = open('文件操作8',encoding='utf-8',mode='w')
    f.write('6131')
    f.seek(1)
    print(f.read())
    f.close()

    #追加

    6.a模式

    #没有文件创建文件也要写

    #有文件直接在文件的最后面添加

    7.其他方法

    #readable,writable,seek,tell

    # seek 调整光标到开始,seek(0)  调整光标到结尾seek(0,2) *****
    f = open('文件操作9',encoding='utf-8',mode='r')
    f.seek(20)#按字节去移动光标
    content = f.read()
    print(content)
    f.close()
    # f = open('文件操作1',encoding='utf-8')
    # if f.writable():
    #     content = f.read()
    #     print(content)
    # f.close()

    #truncate

    # truncate 要在writable模式下进行截取。
    # r+ a+ ..不能在w模式下使用,对原文件进行截取
    # f = open('文件操作1',encoding='utf-8',mode='r+')
    # print(f.truncate(6))
    # f.close()
    #with open
    (1)主动关闭文件句柄
    (2)开启多个文件句柄
    # 文件的改的操作

    # 1,以读的模式打开原文件,产生一个文件句柄f1.
    # 2,以写的模式创建一个新文件,产生一个文件句柄f2.
    # 3,读取原文件内容,进行修改,并将修改后的写入新文件。
    # 4,将原文件删除。
    # 5,将新文件重命名成原文件。
     







     
  • 相关阅读:
    VS 文件编码
    CSS中强大的EM 弹性布局
    编辑器【updating】
    下一代Jquery模板JsRender
    HTML 特殊符号编码对照表
    ASP.NET 文摘 [updating]
    Html5/Html CSS3/css 文摘 [updating]
    在Sublime Text 2中设置任意扩展名文件的默认语法
    Delphi笔记Indy10.5.5 IdTcpServer 与 IdTcpClient Demo 服务器端
    基于silverlight的工作流编辑器
  • 原文地址:https://www.cnblogs.com/caoshitong/p/9482054.html
Copyright © 2011-2022 走看看