zoukankan      html  css  js  c++  java
  • Python学习笔记文件读写之文件读写过程

     随笔记录方便自己和同路人查阅。

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      在熟悉了处理文件夹和相对路径后,你就可以指定文件的位置,进行读写。接下来介绍的函数适用于“纯文本文件”只包含基本文本字符,

    不包含字体、大小和颜色信息。带有.txt扩展名的文本文件,以及带有.py扩展名的Python脚本文件,都是纯文本文件的例子。它们可以被windos

    的notepad或OS X的TextEdit应用打开。你的程序可以轻易地读取纯文本文件的内容,将它们作为普通的字符串值。

      “二进制文件”是所有其他文件类型,诸如字处理文档、PDF、图像、电子表格和可执行程序。如果用 Notepad 或 TextEdit 打开一个二进制

    文件,它看起来就像乱码。如下图:

      读写文件有三个步骤:

      (1)调用open()函数,返回一个File对象

      (2)调用File对象的read()或write()方法

      (3)调用File对象的close()方法,关闭该文件

    #------------------------------------------------我是可耻的分割线-------------------------------------------

      1、用open()函数打开文件,要用 open()函数打开一个文件,就要向它传递一个字符串路径,表明希望打开的文件。这既可以是绝对路径,

    也可以是相对路径。open()函数返回一个 File 对象。

      open()函数,示例代码:

    #! python 3
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #利用open()函数,打开指定的文件
    hello_file = open('C:\Users\Administrator\PycharmProjects\test\文件读写\hello.txt')
    

      使用open()函数,打开文件时如果没有其他参数传递给open()方法,首先要保证该文件和路径已经存在。调用 open()将返回一个 File 对象。File 对象代表计算机中的一个文件,

    它只是Python 中另一种类型的值,就像你已熟悉的列表和字典。在前面的例子中,你将 File对象保存在 helloFile 变量中。现在,当你需要读取

    或写入该文件,就可以调用helloFile 变量中的 File 对象的方法。

      2、read()方法,读取文件内容。既然有了一个 File 对象,就可以开始从它读取内容。如果你希望将整个文件的内容读取为一个字符串值,

    就使用 File 对象的 read()方法。

      read()方法,示例代码:

    #! python 3
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #利用open()函数,打开指定的文件,返回一个File对象
    hello_file = open('C:\Users\Administrator\PycharmProjects\test\文件读写\hello.txt')
    #利用read()方法,读取File对象内容
    print(hello_file.read())
    

      运行结果:

      打印了hello 换行 world,因为hello.txt中存放的就是hello 换行 world。

      如果你将文件的内容看成是单个大字符串,read()方法就返回保存在该文件中的这个字符串。或者,可以使用 readlines()方法,从该文件取得一个字符串的列表。

    列表中的每个字符串就是文本中的每一行。

      readlines()方法,示例代码:

    #利用open()函数,打开指定的文件,返回一个File对象
    hello_file = open('C:\Users\Administrator\PycharmProjects\test\文件读写\hello.txt')
    #利用readlines()方法,读取File对象内容
    print(hello_file.readlines())
    

      运行结果:

      readline() 方法用于从文件读取整行,包括 " " 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 " " 字符。

      readline() 方法,示例代码:

    #! python 3
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #利用open()函数,打开指定的文件,返回一个File对象
    hello_file = open('C:\Users\Administrator\PycharmProjects\test\文件读写\hello.txt')
    #利用readline()方法,读取File对象内容
    print(hello_file.readline())
    
    #利用readline()方法,读取File对象执行长度字符串内容
    print(hello_file.readline(3))
    

      运行结果:

      3、写入文件

      Python 允许你将内容写入文件,方式与 print()函数将字符串“写”到屏幕上类似。但是,如果打开文件时用读模式,就不能写入文件。你需要以“写入纯文本模

    式”或“添加纯文本模式”打开该文件,或简称为“写模式”和“添加模式”。

      写模式将覆写原有的文件,从头开始,就像你用一个新值覆写一个变量的值。将'w'作为第二个参数传递给 open(),以写模式打开该文件。不同的是,添加模式将

    在已有文件的末尾添加文本。你可以认为这类似向一个变量中的列表添加内容,而不是完全覆写该变量。将'a'作为第二个参数传递给 open(),以添加模式打开该文件。
      如果传递给 open()的文件名不存在,写模式和添加模式都会创建一个新的空文件。在读取或写入文件后,调用 close()方法,然后才能再次打开该文件。

      write()方法写模式,示例代码:

    #! python 3
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #使用open()方法打开文件,使用w模式
    baconFile = open('bacon.txt','w')
    #write()方法写入文本
    baconFile = baconFile.write('hello world!
    ')
    #打印写入的字符串个数
    print(baconFile)
    

      运行结果:

      写模式,每次运行都会覆盖以前的内容。

      write()方法添加模式,示例代码:

    #! python 3
    # -*- coding:utf-8 -*-
    # Autor: Li Rong Yang
    #使用open()方法打开文件,使用w模式
    baconFile = open('bacon.txt','a')
    #write()方法写入文本
    baconFile.write('hello world!
    ')
    baconFile.close()
    
    baconFile = open('bacon.txt')
    print(baconFile.read())
    

      运行结果:

      添加模式,每次运行会在文件末尾追加写入新内容。

       

  • 相关阅读:
    HDU 4348 To the moon(可持久化线段树)
    HDU 5875 Function 大连网络赛 线段树
    HDU 5877 2016大连网络赛 Weak Pair(树状数组,线段树,动态开点,启发式合并,可持久化线段树)
    HDU 5876 大连网络赛 Sparse Graph
    HDU 5701 中位数计数 百度之星初赛
    CodeForces 708B Recover the String
    Java实现 蓝桥杯 算法提高 套正方形(暴力)
    ASP.NET生成验证码
    ASP.NET生成验证码
    ASP.NET生成验证码
  • 原文地址:https://www.cnblogs.com/lirongyang/p/9613216.html
Copyright © 2011-2022 走看看