zoukankan      html  css  js  c++  java
  • Python文件和数据格式化(教程)

    文件是一个存储在副主存储器的数据序列,可包含任何数据内容。

    概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象。

    用文件形式组织和表达数据更有效也更加灵活。

    文件包括两种形式,文本文件和二进制文件。

    文本文件:一般由单一特定的编码的字符组成

    二进制文件:一般由0和比特1组成,没有统一的字符编码。

    无论是通过文本还是二进制创建的文件,都可以用两种方式来打开。

     我们来举个例子对比文本文件和二进制文件,

    首先我们在桌面创建一个文本文件,取名example,并写入“我爱我的祖国”

    如下所示:

     注意:右下角的编码方式为“UTF-8”

    然后执行代码:

    fp=open("example.txt","rt",encoding='UTF-8')
    print(fp.readline())
    fp.close()
    
    fps=open("example.txt","rb")
    print(fps.readline())
    fps.close()

    在这段代码中,分别使用文本文件形式和二进制形式打开文档,然后读取、关闭。

    注:rt为文本文件形式、rb为二进制文件形式。

    运行结果如下所示:

    接下来,我们正式学习文件相关操作。

    1.文件的打开和关闭

    说到文件的打开关闭,不由得让我想起以前的笑话,把大象装进冰箱需要几步?

    文件操作和这个笑话一样,首先打开文件、然后进行操作、最后关闭文件。

    文件的打开:

    文件默认处于存储状态,只有将其打开当前程序才有权操作这个文件。

    打开不存在的文件,程序将会创造一个新文件来进行操作。

    打开这个文件之后,文件处于被占用状态,另一个进程不得对文件进行操作。

    文件打开需要使用open()函数,格式如下:

    <变量名>=open(<文件名>,<打开模式>)

    encoding为编码方式

    文件打开模式:

    “r”    :只读模式,文件不存在返回异常

    “w”   :覆盖模式,文件不存在则创建、文件存在则完全覆盖

    “x“    :创建写模式,文件不存在则创建、存在则返回异常

    ”a”    :追加写模式,文件不存在则创建、文件存在则在稳健最后追加内容

    “b”    :二进制模式

    “f”     :文本文件模式(默认值)

    “+”    :与 rwxa一同使用,在原基础上加入了同时读写功能

    打开模式可以为字符串形式,其中r,w,x,a可以和b,t,+组合使用

    如刚刚例子的打开方式:rt,rb

    encoding为编码方式

    文件的关闭:

    文件使用之后,要采用close()函数关闭文件,释放文件的使用授权

    使用方法如下:

    <变量名>.close()

    2.文件的读取

    文件打开之后,根据打开方式的不同可以对文件进行对应读写操作。(记得注意编码方式)

    文件的读取方法如下:

    <file>.read(size=-1)

    从文件读入整个文件内容,给出参数则读取前size长度的字符串

    <file>.readline(size=-1)

    从文件中读入一行内容,如果给出参数则读取每行前size长度的字符串

    <file>.readlines(hint=-1)

    从文件中读入整个文件的内容,以每一行为一个列表,如果给参入,只读取前hint行

    举个例子,还是刚刚的example文件,我们多输入两行同样的文件,逐行读出。

    先打开文件,然后for循环,通过readlines()逐行读取、最后关闭。

    代码如下:

    fp=open("example.txt","rt",encoding='UTF-8')
    for line in fp.readlines():
        print(line)
    fp.close()

    运行结果如下:

    3.文件的写入

    写入的常见函数有三个

    <file>.write(s)

    向文件写入一个字符串

    <file>.writelines(lines)

    讲一个元素全为字符串的列表写入文件

    <file>.seek(offset)

    改变当前文件操作指针的位置,offset的值“0”为文件开头、“1”当前位置,“2”文件结尾

    举个例子,向文件写入一个列表类型[“中国”、“美国”、“法国”]

    代码如下:

    fp=open("example.txt","w+",encoding='UTF-8')
    lst=["中国","美国","法国"]
    fp.writelines(lst)
    fp.close()

    结果如下:

    至此便是python文件方面的常见操作

  • 相关阅读:
    JS中的if语句内如何加or使多个条件通过
    对计算属性中get和set的理解
    如何在vue里实现同步阻塞请求,请求完成之前不加载页面或组件?
    vue 路由传参 params 与 query两种方式的区别
    vue中通过路由跳转的三种方式
    vue生成单文件组件和组件嵌套步骤
    this.$router.push() 在新窗口怎么打开
    Vue路由获取路由参数
    vue的v-for循环普通数组、对象数组、对象、数字
    element el-cascader设置默认值
  • 原文地址:https://www.cnblogs.com/lyy135146/p/11965603.html
Copyright © 2011-2022 走看看