• Python基础--基本文件操作


    全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了。

    文件操作才是实战中的王道。

    所以,今天就来分享一下Python中关于文件的一些基本操作。

    open方法

    文件模式
    这个模式对于写入文件非常重要。

    r   读模式
    w   写模式
    a   追加模式
    b   二进制模式
    +   读写模式

    缓冲
    open函数的第三个參数

    0             I/O无缓冲
    1             I/O有缓冲
    大于1          缓冲大小。字节为单位
    -1            使用默认缓冲区大小

    读和写

    f = open('somefile.txt', 'w')
    f.write('Hello. ')
    f.write('World!')
    f.close()

    完毕对文件的操作。记得要close。

    f = open('somefile.txt', 'r')
    f.read(4)
    'Hell'
    f.read()
    'o, World!'

    莞式输出(管式输出)
    样例,统计单词数目:

    import sys
    text = sys.stdin.read()
    words = text.split()
    wordcount = len(words)
    print 'Wordcount:', wordcount

    最后介绍一下,什么是二进制文件:

    定义
    广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由非常多行字符构成的计算机文件。

    文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要easy一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。

    从本质上来说他们之间没有什么区别。由于他们在硬盘上都有一种的存放方式–二进制,可是假设要对他们有些区分的话,那能够这样理解。每一个字符由一个或多个字节组成,每一个字节都是用的-128—127之间的部分数值来表示的,也就是说,-128——127之间另一些数据没有相应不论什么字符的不论什么字节。

    假设一个文件里的每一个字节的内容都是能够表示成字符的数据,我们就能够称这个文件为文本文件,可见,文本文件仅仅是二进制文件里的一种特例,为了与文本文件相区别,人们又把除了文本文件以外的文件称为二进制文件,由于非常难严格区分文本文件和二进制文件的概念,所以我们能够简单地觉得,假设一个文件专门用于存储文本字符的数据,没有包括字符以外的其它数据,我们就称之为文本文件。除此之外的文件就是二进制文件。

    为什么要使用二进制文件。原因大概有三个:
      第一是二进制文件比較节约空间,这两者储存字符型数据时并没有区别。可是在储存数字,特别是实型数字时,二进制更节省空间,比方储存 Real*4 的数据:3.1415927。文本文件须要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值。而二进制文件仅仅须要 4 个字节(DB 0F 49 40)
      第二个原因是。内存中參加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。假设储存为文本文件,则须要一个转换的过程。在数据量非常大的时候,两者就会有明显的速度区别了。


      第三,就是一些比較精确的数据,使用二进制储存不会造成有效位的丢失

  • 相关阅读:
    BZOJ_4383_[POI2015]Pustynia_线段树优化建图+拓扑排序
    BZOJ_1492_[NOI2007]货币兑换Cash_CDQ分治+斜率优化
    BZOJ_3073_[Pa2011]Journeys_线段树优化建图+BFS
    BZOJ_2726_[SDOI2012]任务安排_斜率优化+二分
    BZOJ_1406_[AHOI2007]密码箱_枚举+数学
    哈希表(Hash table)
    算法分析方法之平摊分析(Amotized Analysis)
    数据库视图功能的使用
    不基于比较的排序算法:Counting-sort和Radix-sort
    QuickSort(快速排序)的JAVA实现
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7280002.html
Copyright © 2020-2023  润新知