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")

