Python-文件处理

时间:2020-02-23 14:42:41  来源:igfitidea点击:

在本教程中,我们将学习在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")