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())

  运行结果:

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

   

原文地址:https://www.cnblogs.com/lirongyang/p/9613216.html