zoukankan      html  css  js  c++  java
  • 1.14 Python基础知识

      应用程序往往需要从磁盘文件中读取数据,或者把数据存储到磁盘中文件里,以持久的保存数据。文件可以看作是数据的集合,文件的输入与输出通过流来实现。流有5种基本的操作:打开、读取、写入、改变当前位置和关闭。

      文本文件的操作一般包括三个步骤:打开文件、读取数据/写入数据和关闭文件。 

      文件的打开和创建是通过调用内置函数open()来实现的,语法格式:

        f = open(file,mode='r',buffering=-1,encoding=None)

      file是要打开或要创建的文件名
      mode是打开文件的模式,常用的模式有:r,w,a等
      buffering是表示是否使用缓存,默认-1表示使用系统默认的缓冲区大小
      encoding是文件的编码格式

      文件打开的模式:

    'r'       open for reading (default)
    'w' open for writing, truncating the file first
    'x' create a new file and open it for writing
    'a' open for writing, appending to the end of the file if it exists
    'b' binary mode
    't' text mode (default)
    '+' open a disk file for updating (reading and writing)
    'U' universal newline mode (deprecated)

      写入数据:

      示例代码:

    # 我们用写的模式,创建一个名为data1.txt的文件,并使用utf-8的编码格式操作文件
    f = open('data1.txt','w',encoding='utf-8')
    
    # 把字符串Hello Python写入文件f中
    f.write('hello Python
    ')
    
    # 依次把列表中的字符串写入到文件f中
    f.writelines(['John
    ','Andrew
    ','Dave
    ','Tom
    '])
    
    # 我们通过方法flush强制把缓冲的数据更新到文件中
    f.flush()

      注:方法write()/writelines()不会添加换行符,需要通过添加 来实现换行

      关闭文件

      写入完文件后,应该使用close()方法关闭,以释放资源,并把缓冲的数据更新到文件中

      f.close()  #关闭文件

      

      我们操作完文件,需要关闭文件,但有时候会有遗忘的时候,因此我们推荐使用with语句和上下文管理协议,系统会自动关闭打开的文件

      with语句格式:

      with open(file,mode) as f:

        #操作打开的文件

      文件读取

      文件读取的方法:

      f.read():从f中读取剩余内容直至文件结尾,返回一个字符串

      f.read(n):从f中读取至多n个字符,返回一个字符串;如果n为负数或None,读取直至文件结尾

      f.readline():从f中读取1行内容,返回一个字符串

      f.readlines():从f中读取剩余多行内容,返回一个列表。

      另外,文件可以直接进行迭代,文本文件按行迭代,例如:

      for s in f:

        print(s)

  • 相关阅读:
    Oracle导出导入表空间创建
    ASP.NET 缓存 SqlCacheDependency 监视数据库表变化 让缓存更新的更及时更提高节能
    Silverlight在添加WCF服务引用时报错
    springboot中如何动态更换 配置文件 spring.profiles.active
    maven之根据profile动态切换resource
    java synchronized 关键字的锁升级过程
    子类中的方法和父类同名,但是参数不同,是重写(overload)不是覆盖(override)
    Java的协变(extends)和逆变(super),说白了都是子类的实例赋值给父类的变量
    Mybatis缓存
    [转]Spring MVC之 @PathVariable @CookieValue@RequestParam @RequestBody @RequestHeader@SessionAttributes, @ModelAttribute
  • 原文地址:https://www.cnblogs.com/topspeedking/p/6427758.html
Copyright © 2011-2022 走看看