Python读取文件,写入文件,打开文件,删除文件,复制文件

时间:2020-02-23 14:43:13  来源:igfitidea点击:

在本教程中,我们将学习Python文件操作,例如python读取文件,python写入文件,打开文件,删除文件和复制文件。

Python文件

在上一教程中,我们使用控制台进行输入。
现在,我们将使用文件进行输入。
这意味着,我们将读取和写入文件。
为此,我们需要保持一些步骤。
那些是

  • 打开文件
  • 从该文件获取输入/将输出写入该文件
  • 关闭文件

我们还将学习一些有用的操作,例如复制文件和删除文件。

为什么要使用文件操作

假设您正在尝试解决一些问题。
但是您无法立即解决。
此外,该问题的输入数据集非常庞大,您需要反复测试数据集。
在这种情况下,您可以使用Python File Operation。
您可以将数据集写入文本文件,然后根据需要反复从该文本文件获取输入。

同样,如果您必须重用程序的输出,则可以将其保存在文件中。
然后,在完成程序后,您可以使用另一个程序来分析该程序的输出。
在这种情况下,您需要Python文件操作。
在某些其他情况下,您可能需要Python文件操作。

Python打开文件

根据前面的讨论,我们必须在Python File Operation中执行的第一步是打开该文件。
您可以使用open()函数打开文件。
该函数有两个参数。
第一个是文件地址,另一个是打开模式。
有一些模式可以打开文件。
下面列出了其中最常见的:

  • ‘r’:此模式表示文件将打开以供只读

  • ‘w’:此模式表示文件只能打开以进行写入。
    如果包含该名称的文件不存在,它将创建一个新文件。

  • " a":此模式表示该程序的输出将追加到该文件的先前输出

  • ‘r +’:此模式表示文件将同时打开以供读取和写入

此外,对于Windows操作系统,您可以添加" b"以二进制形式访问文件。
由于Windows使二进制文件和文本文件有所不同。

假设我们将文本文件名" file.txt"放置在代码所在的目录中。
现在我们要打开该文件。
但是,open(filename,mode)函数返回一个文件对象。
使用该文件对象,您可以继续进行进一步的操作。

#directory:   /home/imtiaz/code.py
text_file = open('file.txt','r')

#Another method using full location
text_file2 = open('/home/imtiaz/file.txt','r')
print('First Method')
print(text_file)

print('Second Method')
print(text_file2)

以下代码的输出将是

================== RESTART: /home/imtiaz/code.py ==================
First Method

Second Method

>>>

Python读取文件,Python写入文件

有一些读取和写入文件的方法。
以下列表是在python中进行读写的常用功能。
请注意,要执行读取操作,您需要以读取模式打开该文件,并且要写入该文件,您需要以写入模式打开该文件。
如果以写入模式打开文件,则存储在该填充中的先前数据将被删除。

  • read():此函数读取整个文件并返回一个字符串

  • readline():此函数从该文件中读取行并作为字符串返回。
    如果第n次被调用,它将获取第n行。

  • readlines():此函数返回一个列表,其中每个元素都是该文件的单行。

  • readlines():此函数返回一个列表,其中每个元素都是该文件的单行。

  • write():此函数将固定的字符序列写入文件。

  • writelines():此函数写入字符串列表。

  • append():此函数将字符串追加到文件中,而不是覆盖文件。

以下代码将指导您使用Python文件操作从文件中读取内容。
我们将" file.txt"作为输入文件。

#open the file
text_file = open('/Users/hyman/abc.txt','r')

#get the list of line
line_list = text_file.readlines();

#for each line from the list, print the line
for line in line_list:
  print(line)

text_file.close() #don't forget to close the file

同样,下面给出了用于写入文件的示例代码。

#open the file
text_file = open('/Users/hyman/file.txt','w')

#initialize an empty list
word_list= []

#iterate 4 times
for i in range (1, 5):
  print("Please enter data: ")
  line = input() #take input
  word_list.append(line) #append to the list

text_file.writelines(word_list) #write 4 words to the file

text_file.close() #don’t forget to close the file

Python复制文件

我们可以使用shutil复制文件。
下面的示例显示了两种不同的文件复制方法。

import shutil

shutil.copy2('/Users/hyman/abc.txt', '/Users/hyman/abc_copy2.txt')

#another way to copy file

shutil.copyfile('/Users/hyman/abc.txt', '/Users/hyman/abc_copyfile.txt')

print("File Copy Done")

Python删除文件

我们可以使用以下代码删除python中的文件。

import shutil
import os

#two ways to delete file
shutil.os.remove('/Users/hyman/abc_copy2.txt')

os.remove('/Users/hyman/abc_copy2.txt')

Python关闭文件

如上例所示,我们使用close()函数关闭文件。
关闭文件很重要。

这就是Python文件操作的全部内容。
如果您有任何疑问,请随时在注释框中提出。

Python FileNotFoundError

如果文件或者目录不存在,则会出现此错误。
下面给出了示例堆栈跟踪。

File "/Users/hyman/Desktop/string1.py", line 2, in <module>
  text_file = open('/Users/hyman/Desktop/abc.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: '/Users/hyman/Desktop/abc.txt'

请检查文件路径并更正它以摆脱FileNotFoundError。