zoukankan      html  css  js  c++  java
  • python io

    1、普通文件读取

    1.1、一次读取文件的所有内容

    #第一种:readlines,将文件所用内容以行为区分读到一个列表中 ,列表中的每一个元素是一行
    with open('filepath','r') as f:
        lines=f.readlines() #一次读取全部内容
        for line in lines:
            print(line)
    
    # 第二种: read(),函数把文件全部内容一次性读到一个字符串中
    with open('filepath','r') as f:
        ff=f.read()
    

    1.2、逐行读取

    #第一种:readline,一行一行的读,省内存
    with open('filepath','r') as f:
        lines=f.readlines() #一次读取全部内容
        for line in lines:
            print(line)
    
    # 第二种:直接打开读
    with open('filepath','r') as f:
        for line in f:
            print(line)
            print('一行数据')
    

    如果不用with,需要用f.close()关闭文件句柄
    参考: https://www.cnblogs.com/mghhzAnne/p/10282964.html

    2、写文件
    写数据有几种不同的模式,最常用的是'w', 'a', 分别表示擦除原有数据再写入和追加模式

    filename = 'write_data.txt'
    with open(filename,'w') as f: # 如果不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!
        f.write("aaaa
    ")
        f.write("bbbb
    ")
        f.flush()  #刷新缓冲区,立马写入文件
    

    可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险。
    另外如果想立马写入文件,可以通过 f.flush() 实现。
    参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640

    3、csv文件读写

  • 相关阅读:
    centos 安装docker-ce
    quartz.net .netcore 定时任务部署到linux
    c# 获取linux 磁盘信息
    nginx 安装
    async await 理解
    Remote side unexpectedly closed network connection
    centos 安装。net
    yum 操作
    centos7下安装mysql5.7
    git 本地仓库版本无法从远程更新到本地
  • 原文地址:https://www.cnblogs.com/ying-chease/p/14927430.html
Copyright © 2011-2022 走看看