原文: How to Add to a List in Python – List Addition Tutorial

在本教程中,你将学习如何打开一个文件、写入文件以及关闭它。你还将学习如何使用 Python 读取文件。

在本教程结束时,你应该知道如何在 Python 中使用文件的基本知识。

Python 中的文件操作

文件操作是每个 web 应用中的一个重要活动。你可以在打开的文件上执行的活动类型是由访问模式控制的。这些描述了文件被打开后的使用方式。

这些模式还指定了文件句柄在文件中的位置。类似于一个指针,文件句柄表明数据应该被读入或放入文件的位置。

在 Python 中,有六种方法或访问模式,它们是:

  • 只读(“r”):这种模式以只读模式打开文本文件。文件的开始是句柄所在的位置。如果文件不存在,它将引发 I/O 错误。这也是打开文件的默认模式。
  • 读和写('r+’):这种方法以读和写模式打开文件。文件的开始是句柄所在的位置。如果文件不存在,就会产生一个 I/O 错误。
  1. 只写(“w”):这种模式打开文件,只能写。现有文件中的数据被修改和覆盖。文件的开始是句柄所在的位置。如果该文件在文件夹中不存在,就会创建一个新的文件。
  • 写和读(“w+”):这种模式可以打开文件进行读和写。文本被覆盖并从现有文件中删除。文件的开始是句柄所在的位置。
  1. 只追加(“a”):这种模式允许文件被打开以便写入。如果该文件还不存在,就会创建一个新的文件。句柄被设置在文件的末尾。新写的数据将被添加到最后,跟在以前写的数据后面。
  • 追加和读取(“a+”):使用这种方法,你可以在文件中读和写。如果该文件不存在,就会创建一个。句柄被设置在文件的末尾。新写的文本将被添加到最后,跟在先前写的数据后面。

下面是使用 Python 文件操作方法或访问模式来创建、写入和读取文本文件所需的代码。

如何在 Python 中创建文件

在 Python 中,你使用 open() 函数和下列选项之一——“x” 或 “w”——来创建一个新文件:

  • “x” - 创建:当且仅当某个名称的文件不存在时,这个命令将创建一个以该名称命名的新文件,否则它将返回一个错误。

在 Python 中使用 “x” 命令创建一个文件的例子:

#用命令 “x” 创建一个文本文件

f = open("myfile.txt", "x")

我们现在已经创建了一个新的空的文本文件!但是,如果你重试上面的代码——例如,如果你试图创建一个与上面所用名称相同的新文件(如果你想重新使用上面的文件名),会得到一个报错,通知你该文件已经存在。它将看起来像下面的图片:

M5NFHGEBKdLZL94AVJLeU5IU2t8TfscRrGuerHUOIRUkuf3EuXzqGk2VO0ltu7Y3Fx66M6O1mAyhi1ItDEWc57v-2lq0Sn9DM39aKvgHSbv8N3Bu6buYMFFS15ND6K8JbpKXN-L2UzVtRsuknG9ICVY
  • “w” - 写:这个命令将创建一个新的文本文件,无论内存中是否有一个新指定名称的文件。如果程序发现已有同名文件,它不会返回错误——相反,它将覆盖现有文件。

用 “w” 命令创建文件的例子:

#用命令 “w” 创建一个文本文件

f = open("myfile.txt", "w")

#这个 “w” 命令也可以用来创建一个新文件,但与 “x” 命令不同的是,“w” 命令将覆盖任何发现的具有相同文件名的现有文件。

通过上面的代码,无论文件是否存在于内存中,你仍然可以继续使用该代码。只是要记住,如果它发现一个已有的同名文件,它将覆盖该文件。

如何在 Python 中写入文件

在 Python 中,有两种写入文件的方法,它们是:

write() 方法:

这个函数在单行上将字符串插入文本文件中。

基于我们上面创建的文件,下面这行代码将把字符串插入创建的文本文件中,即 “myfile.txt”。


file.write("Hello There\n")

writelines() 方法:

这个函数同时插入了多个字符串,将创建一个字符串元素的列表,然后每个字符串被添加到文本文件中。

使用上面先前创建的文件,下面这行代码将把字符串插入创建的文本文件中,该文件是 “myfile.txt”。

f.writelines(["Hello World ", "You are welcome to Fcc\n"])

例如:

#这个程序显示了如何在一个文本文件中写入数据。

file = open("myfile.txt","w")
L = ["This is Lagos \n","This is Python \n","This is Fcc \n"]

# 我把 ["This is Lagos (n)", "This is Python (n)", "This is Fcc (n)"]分配给变量 L,你可以用你选择的任何字母或单词。
# 变量是可以存储数值的容器。
# \n 表示行的结束。

file.write("Hello There \n")
file.writelines(L)
file.close()

# 使用 close() 修改文件访问模式

如何在 Python 中从一个文本文件中读取数据

在 Python 中,有三种方法可以从文本文件中读取数据,它们是:

read() 方法:

这个函数以字符串的形式返回所读的字节数。如果没有指定 n,它就会读取整个文件。

例如:

f = open("myfiles.txt", "r")
#('r’) 打开文本文件,为只读模式
print(f.read())
#"f.read" 运行时在 shell 中打印出文本文件中的数据。

readline() 方法:

这个函数从一个文件中读取一行,并以字符串形式返回。它最多读取指定的 n 个字节。但即使 n 大于行的长度,它也不会读取多于一行。

f = open("myfiles.txt", "r")
print(f.readline())

readlines() 方法:

这个函数读取所有的行,并返回为列表中的字符串元素,每行一个。

你可以通过调用 readline() 两次,读取文件的前两行:

f = open("myfiles.txt", "r")
print(f.readline())
print(f.readline())

如何在 Python 中关闭一个文本文件

当你用完文件后总是关闭它,这是一个好的实践。

关闭一个文本文件的例子:

当你完成对文本文件的修改时,这个函数将关闭该文件:

f = open("myfiles.txt", "r")
print(f.readline())
f.close()

代码末尾的 close() 函数告诉 Python:好了,我已经完成了这一段的创建或读取工作——这就像说“结束了”。

例子:

下面的程序显示了在文本文件中读写数据的方法的更多例子。每一行代码都有注释,以帮助你理解正在发生的事情:

# 程序展示在一个文本文件中读取和写入数据的不同方法。

file = open("myfile.txt","w")
L = ["This is Lagos \n","This is Python \n","This is Fcc \n"]

#我把 ["This is Lagos \n","This is Python \n","This is Fcc \n"] 赋给变量 L
  
# \n 表示行的末尾

file.write("Hello There \n")
file.writelines(L)
file.close()
#使用 close() 改变文件读取模式



file = open("myfile.txt","r+") 
print("Output of the Read function is ")
print(file.read())
print()
  
# seek(n) 将文件句柄放到从开头开始的第 n 个字节。
file.seek(0) 
  
print( "The output of the Readline function is ")
print(file.readline()) 
print()
  
file.seek(0)
  
# 展示 read 和 readline 的区别

print("Output of Read(12) function is ") 
print(file.read(12))
print()

file.seek(0)
  
print("Output of Readline(8) function is ") 
print(file.readline(8))
  
file.seek(0)
# readlines 函数
print("Output of Readlines function is ") 
print(file.readlines()) 
print()
file.close()

这是上述代码在 shell 中运行时的输出。我将 “This is Lagos”、“This is Python” 和 “This is Fcc” 分配给 “L”,然后要求它使用 “file.read” 函数打印。

上面的代码显示,“readline()” 函数正在基于指定给它的数字返回字母,而 “readlines()” 函数正在返回分配给 “L” 的每一个字符串,包括 \n。也就是说,“readlines()” 函数将打印出文件中的所有数据。

eY-ds4HKbitEqVJyIMSBdiow9cB5vPtQZNg6kojsZ6WLxL3dt4HyrScAfbPvNS-Lp4SKBE4xuoYGJEUelawHBYnDTcev42B0ht6PWQ3Qsio_TPZxOaTvQFRXQmHmrlnEKO6wleoEJShurKIYh2KYUpg

总结

希望在学习本教程后,你理解了 Python 中的文件操作。我们还使用一些基本示例学习了 Python 中的创建、写入、读取和关闭一个文本文件所需的模式/方法。

感谢阅读!