zoukankan      html  css  js  c++  java
  • Python核心数据类型——文件

    1.  文件的一般格式

    myFile = open(文件名,处理模式,输出缓存)

    • 处理模式为可选,默认为'r'。处理模式有'a':追加模式,追加模式属于写模式,不可读;'r':只读模式;'w':只写模式,删除文件已有内容后,开始写。
    • f = open('data.txt', 'r+'),表示可读可写,多种操作模式用'+'连接。
    • f = open('data.txt', 'a'),表示在文件尾部追加内容打开文件。
    • 输出缓存为可选,可传入0,表示无输出缓存,也就是执行write方法后直接传给文件。
    • file是open的同义词,也就是可以写成myFile = file(文件名,处理模式,输出缓存)

    2.  常用方法

    s = myFile.read()             #把整个文件读到一个字符串中
    
    s = myFile.read(N)         #读取N个字节到一个字符串
    
    s = myFile.readline()       #读取一行到一个字符串(包括行末指示符'\n')
    
    sList = myFile.readlines()#读取整个文件到字符串列表,一行一个字符串
    
    myFile.write(s)               #写入字符串到文件
    
    myFile.writelines(sList)   #把列表中所有字符串写入文件
    
    myFile.seek(N)              #修改文件位置到偏移N处
    

     

    3.  文件的输入输出

    当执行read或write时,文件指针都会往后移动,当同时为可读可写模式时,则共享同一个文件指针。

    f.read(1)    #文件指针移到偏移1
    f.read(1)    #再执行一次f.read(1)后,文件指针移到偏移2
    
    f.read(1)    #文件指针移到偏移1
    f.write('x')   #'x'插入到偏移1处,文件指针移到偏移2
    

      

    • 从文件读取的数据回到脚本中时是一个字符串,如果需要的话,需要手动转换文件格式,如字符串到数字。
    • 当把数据写入文件时,python不会自动把对象转换成字符串,如输出数字时,需要先将数字转换成字符串。
    • Python标准库pickle模块能够让我们直接在文件中储存Python对象,而不需要在字符串间转换数据类型。
     
    import pickle
    
    pickle.dump(D, F)#往文件F中写入对象D
    
    E = pickle.load(F)#从文件F中读取对象到E
    
    • struct模块能够构造并解析打包的二进制数据
    • eval(s)#eval方法能够将字符串当作可执行的代码,换句话说就是把字符串转换成Python代码(Python是边解释边执行的)
  • 相关阅读:
    【题解】Luogu CF817F MEX Queries
    【题解】Luogu P4396 [AHOI2013]作业
    【题解】Luogu P4198 楼房重建
    【题解】Luogu P1471 方差
    【题解】Luogu P4069 [SDOI2016]游戏
    【题解】Luogu P4097 [HEOI2013]Segment
    李超线段树略解
    【题解】JSOIWC2019 Round 5
    【题解】Luogu P2763 试题库问题
    【题解】JSOIWC2019 Round4
  • 原文地址:https://www.cnblogs.com/restran/p/2265133.html
Copyright © 2011-2022 走看看