打开,阅读和写入文件是编程中最基本的操作之一。幸运的是,Python使得与文件很容易。与C或Java不同,读取文件的Python语法非常简单,过程本身易于理解。

在本教程中,我们将学习如何在Python中打开,读取和写入文件。我们还将创建一个简单的程序,该程序将某些内容添加到现有文件并打印输出。要了解有关使用Python中的文件的更多信息,请查看此内容Python课程为初学者

在Python中读取文件

在Python中读取文件涉及不是一个,而是两个操作 -开幕式

在使用文件之前,必须首先使用Python打开它打开命令。这有点像启动汽车发动机并握住司机的门。只要您打开文件,Python在内存中存储,并准备进一步操作。

打开文件后,您可以使用命令对其执行操作,例如打印。

这两个命令的语法如下:

打开:

打开(文件名

读:

文件名。读()

下面的例子中,这将变得更加清晰:

例子

在此示例中,我们将创建一个简单的文本文件,输入文件的名称作为输入并使用读命令打印它。按照以下步骤开始:

步骤1:触起您的文本浏览器(虽然我强烈推荐记事本++)并创建新文本文件。输入您想要的任何文本。我为我的文件选择了这一点奥斯卡王尔德诙谐主义:

“我很聪明,有时候我不明白我所说的单词。”

- 奥斯卡·王尔德

将文件保存为sample.txt相同的文件夹作为您的主要Python文件。

第2步:创建一个新的python文档。由于我们希望用户在命令行中提供文件名,因此我们将使用sys.argv.命令行参数。如果您记得您的Python基础知识,您将记得我们可以在我们的程序中使用它进口命令,如此;

从SYS导入argv

第3步:回想一下,当我们使用时argv.,第一个参数,argv [0]基本上代表脚本名称(即程序本身的名称)。之后,我们可以随着我们想要的代词传递。

由于我们有一个文件来读取,我们将通过两个参数 - 脚本名称(argv [0])和文件名,如下所示:

脚本,文件名= argv

第四步:现在我们有存储在的文件名文件名参数,我们可以使用它打开命令:

file =打开(文件名)

第5步:由于我们已经打开了文件,我们可以使用它使用它读()命令,如下:

print file.read()

因此,整个程序应该如下所示:

从Sys导入argv脚本,filename = argv file =打开(filename)print file.read()

使用您的首选名称保存程序。确保将其保存在与文本文件相同的目录中。

第6步:要运行程序,请打开命令提示符并导航到您存储文件的目录。运行程序,将文件的名称传递为参数,如下所示:

步骤6.

结果应如下:

结果

就是这样!您已创建您的第一个使用Python的程序读()命令。

这些命令混淆了吗?蟒蛇大师基础知识关于新秀的Python课程!!

提示用户for filename

在上面的例子中,我们自己在命令行中输入文件名argv.。但是,如果你想提示用户for filename怎么办?

这也很容易RAW_INPUT()命令。

将以下代码输入新的Python程序:

打印“请在下面的提示处输入所需文件(带扩展名的全名”#raw_input用于从用户文件= raw_input(“>”)#opens以上输入的文件名=打开(文件)print file_open.read()

这是输出:

输出

写成文件

我们已经看到了打开并读取文件是多么容易,但如果您想向文件添加一些内容,该怎么办?

这也很容易,谢谢写()命令。语法非常简单:

open_filename。写(“您的内容”)

和我们一样读()命令,您首先需要打开文件,然后才能向它写入。

让我们看看这个命令如何在实践中工作:

例子

在我们创建的程序中,删除print file_open.read()行并替换它如下:

file_open.write(“这是一个额外的行”)

现在应该看起来像这样:

打印“请在下面的提示处输入所需文件(带扩展名的全名”#raw_input用于从用户文件= raw_input(“>”)#opens以上输入的文件名=打开(文件)file_open.write(“这是一个额外的行”)

继续在命令提示符中运行它。这就是你所看到的:

例子

嗯... python说我们的文件是不打开写作。

这是什么意思?

你看,Python有不同的模式当它打开文件时。默认模式设置为只读。如果要写入文件,则必须在写入模式下打开文件。

这样做的正确语法如下:

打开(文件名, '模式')

这些模式由“R”,“A”等符号称为等。一些最常用的模式是:

R.

在只读模式下打开文件。

W.

在写入模式下打开文件。从文件中删除所有现有内容。

W +

与上面相同,除了此命令还会创建一个新文件,如果指定的文件未存在。

一种

附加到现有文件

由于我们想向我们现有文件添加一行,我们将使用“A”或Append模式。这个stackoverflow thread.对基本开放模式有很好的解释。

准备好了一些挑战?查看Python的这个中间课程抓住更高级的主题!

在Python中使用打开模式

通过上述知识,我们现在可以重写我们的计划,如下所示:

file = raw_input(“>”)file_open =打开(文件,'a')file_open.write(“这是一个额外的行”)

再次运行该程序。如果您检查sample.txt文件,则应查看文件末尾添加的新行:

sample.txt文件

但是,如果您尝试使用此文件打印文件读()命令,您将看到以下错误:

read()命令,

您收到此错误,因为我们已修改文件并再次打开它。要解决这个问题,我们首先需要关闭我们的开放文件。这可以用关闭()命令,如下所示:

file_open.close ()

小费:打开后关闭文件是一个很好的做法,无论您是否要打印它。

由于我们已关闭文件,我们需要再次打开它。这次,我们将自己传递文件的名称,如下所示:

file_again =打开(“sample.txt”)

最后,我们可以使用使用的修改文件读()命令:

print file_again.read()

这就是我们的完成程序现在看起来像:

file = raw_input(“>”)file_open =打开(文件,'a')file_open.write(“这是一个额外的行”)file_open.close()file_again =打开(“sample.txt”)print file_again.read()

当我们运行它时,这是输出:

输出2正如您所看到的,新添加的线路在我们的报价结束时出现。

要重新回顾,我们学习了四个新的Python命令 -打开()read(),close()写()。我们还学习了Python中的打开模式以及如何读取和添加内容到文件中。将使用这四个简单的命令很多每当您使用文件时,请务必定期练习它们。

对于更深入的Python基础知识,请尝试这一点初学者的Python崩溃课程

Python的顶级课程

Python 3:深潜席(第4部分 - OOP)
Fred Baptiste.
4.8 (1,133)
Python为初学者完成MasterClass
Mihai Catalin Teodosiu,Epicpython学院
4.5 (2,349)
畅销书
Python的设计模式
Dmitri Nesteruk.
4.5 (1,289)
算法交易A-Z配有Python,机器学习和AWS
Alexander Hagmann.
4.6 (464)
畅销书
数据科学:Python中的深度学习与神经网络
懒惰的程序员公司
4.6 (7,296)
人工智能:Python的强化学习
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (8,530)
畅销书
Python中深入学习的自然语言处理
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (6,434)
高级AI:Python的深度加固学习
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (3,850)
收视率最高

更多Python课程

蟒蛇学生也会学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示