Python-文件处理
在本教程中,我们将学习在Python中使用文件。
创建一个新文件
我们使用open
函数在Python中创建一个新文件。
open函数有两个参数。
第一个参数是要创建的文件的名称。
第二个参数是mode,它设置为x
。
在下面的Python程序中,我们将创建一个名为helloworld.txt
的文件。
# create a new file fObj = open("helloworld.txt", "x") fObj.close()
在上面的代码中,我们使用open()
函数创建一个文件。
清除所有未写入的数据并使用close()
函数关闭文件是一个好习惯。
如果文件已经存在,则open(" filename"," x")
将返回错误。
如果再次运行上面的代码,由于文件" helloworld.txt"存在,将会出现以下错误。
Traceback (most recent call last): File "/Users/theitroadtheitroad/PycharmProjects/HelloWorld/files/file.py", line 2, in <module> fObj = open("helloworld.txt", "x") FileExistsError: [Errno 17] File exists: 'helloworld.txt'
使用绝对路径创建文件
我们还可以使用绝对文件路径来创建文件。
在下面的Python程序中,我们使用绝对路径创建hello.txt
文件。
# create a new file fObj = open("/Users/theitroadtheitroad/PycharmProjects/HelloWorld/files/hello.txt", "w") fObj.close()
检查文件是否存在
要检查给定文件是否存在,我们必须使用os
模块。
在下面的Python程序中,我们将导入os
模块,然后检查给定文件的存在。
# import module import os # check if os.path.exists("helloworld.txt"): print("File exists") else: print("File does not exists")
写入文件
为了在文件中写数据,我们在写w模式下使用open函数。
然后我们使用write
函数写入数据。
如果文件不存在,则open(" filename"," w")
将创建文件。
在下面的Python程序中,我们以写模式打开helloworld.txt
文件,并在该文件中写入"" Hello World"`字符串。
# open file fObj = open("helloworld.txt", "w") # write data fObj.write("Hello World\n") fObj.close()
如果打开helloworld.txt
,我们将看到文件中的" Hello World"行。
在上面的代码中,我们使用换行符\ n进行转义。
附加到文件
要将数据附加到文件中,我们使用"打开"函数,并将模式设置为" a"附加模式。
如果文件不存在,则open(" filename"," a")
将创建文件。
在下面的Python程序中,我们以附加模式打开helloworld.txt
文件,并将字符串"" Some more text。
"`附加到文件中。
# open file fObj = open("helloworld.txt", "a") # append data fObj.write("Some more text.\n") fObj.close()
读取文件
为了读取文件的内容,我们使用带有r
读取模式的open
函数。
如果文件不存在,则open(" filename"," r")
将返回错误。
在下面的Python程序中,我们正在读取我们之前创建的helloworld.txt
文件的内容。
# open file fObj = open("helloworld.txt", "r") # read data data = fObj.read() # output print(data) fObj.close()
上面的代码将使用类似的输出。
Hello World Some more text.
注意!您的输出可能会根据文件中的内容而有所不同。
read
函数
默认情况下,"读取"函数将读取文件的所有内容。
如果我们想读取有限数量的字符,则可以将数字传递给该函数。
在下面的Python程序中,我们仅读取helloworld.txt
文件的5个字符。
# open file fObj = open("helloworld.txt", "r") # read data data = fObj.read(5) # output print(data) fObj.close()
上面的代码将为我们提供类似的输出。
Hello
readline函数
我们使用readline
函数一次读取一行文件。
在下面的Python程序中,我们将使用readline
函数来打印helloworld.txt
文件的前两行。
# open file fObj = open("helloworld.txt", "r") # read 1st line data = fObj.readline() # output print(data) # read 2nd line data = fObj.readline() # output print(data) fObj.close()
每次我们使用readline
函数时,它都会读取一行,然后移至下一行。
逐行读取文件
要逐行读取文件,我们可以借助for循环。
在下面的Python程序中,我们使用for循环逐行读取helloworld.txt
文件的内容。
# open file fObj = open("helloworld.txt", "r") for line in fObj: print(line) fObj.close()
删除文件
要删除文件,我们使用os
模块中的remove
函数。
在下面的Python程序中,我们将删除我们先前创建的hello.txt
文件。
# import module import os # check and remove if os.path.exists("hello.txt"): print("File exists... Removing it...") os.remove("hello.txt") else: print("File does not exists")