Python读取文件:在Python中使用文件的深入教程
打开,阅读和写入文件是编程中最基本的操作之一。幸运的是,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步:要运行程序,请打开命令提示符并导航到您存储文件的目录。运行程序,将文件的名称传递为参数,如下所示:
结果应如下:
就是这样!您已创建您的第一个使用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文件,则应查看文件末尾添加的新行:
但是,如果您尝试使用此文件打印文件读()命令,您将看到以下错误:
您收到此错误,因为我们已修改文件并再次打开它。要解决这个问题,我们首先需要关闭我们的开放文件。这可以用关闭()命令,如下所示:
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()
当我们运行它时,这是输出:
要重新回顾,我们学习了四个新的Python命令 -打开()那read(),close()和写()。我们还学习了Python中的打开模式以及如何读取和添加内容到文件中。将使用这四个简单的命令很多每当您使用文件时,请务必定期练习它们。
对于更深入的Python基础知识,请尝试这一点初学者的Python崩溃课程。