Python文件操作的基础详细讲解
Python有很多内置的文件操作函数,可以用来读写文件。这些函数包括open()
、write()
、read()
、readlines()
和readline()
。
1. 打开文件
要操作一个文件,需要先打开这个文件。可以使用open()
函数打开一个文件,这个函数需要两个参数:文件名和打开模式。打开模式有多种,常用的模式有:
r
只读模式,打开文件后只能进行读取操作。w
只写模式,打开文件后只能进行写入操作。如果文件已经存在,则会被覆盖。a
追加模式,打开文件后只能进行写入操作,但是新写入的内容会被追加到文件末尾。x
创建模式,打开文件用于写入,如果文件已经存在,则会报错。b
二进制模式,用于处理二进制文件,比如图片、视频等。t
文本模式,用于处理文本文件,默认值。可以省略。
以下是一个使用open()
函数打开文件的示例:
file = open('example.txt', 'w')
file.close()
在这个示例中,我们打开了一个文件example.txt
,并将其打开模式设为只写模式。注意,当我们完成文件操作后,需要使用close()
函数关闭文件。否则会有一些未知的问题发生。
2. 写入文件
在打开文件后,可以使用write()
函数写入文件。这个函数接受一个字符串作为参数,将其写入文件。以下是一个示例:
file = open('example.txt', 'w')
file.write('Hello World!\n')
file.write('This is an example file.\n')
file.close()
在这个示例中,我们打开了一个文件example.txt
,并将两个字符串写入文件,使用了\n
进行了换行操作。最后我们使用了close()
函数关闭了文件。
3. 读取文件
在打开文件后,可以使用read()
、readlines()
和readline()
函数进行读取操作。
read()
函数
read()
函数可以读取整个文件或者指定数量的字符。以下是一个示例:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
在这个示例中,我们打开了example.txt
文件,并使用read()
函数读取整个文件内容。最后打印出文件内容。需要注意的是,当我们使用read()
函数读取文件后,文件指针会移动到文件末尾。
readlines()
函数
readlines()
函数可以读取文件的每一行,并将其保存在一个列表中。以下是一个示例:
file = open('example.txt', 'r')
lines = file.readlines()
for line in lines:
print(line)
file.close()
在这个示例中,我们打开了example.txt
文件,并使用readlines()
函数读取文件的每一行,然后使用for
循环遍历列表并打印每一行的内容。
readline()
函数
readline()
函数可以读取文件的一行,并将其返回。以下是一个示例:
file = open('example.txt', 'r')
line = file.readline()
while line:
print(line)
line = file.readline()
file.close()
在这个示例中,我们打开了example.txt
文件,并使用readline()
函数读取文件的一行。然后使用while
循环,不断调用readline()
函数读取下一行的内容,并打印。当读取到文件末尾时,readline()
函数返回一个空字符串,此时循环结束。
示例一:向文件中写入CSV数据
以下是一个示例,演示如何使用write()
函数向文件中写入CSV数据:
file = open('data.csv', 'w')
file.write('Name,Age,Gender\n')
file.write('Tom,25,Male\n')
file.write('Lucy,23,Female\n')
file.write('Jack,28,Male\n')
file.close()
在这个示例中,我们创建了一个data.csv
文件,并向其中写入了CSV格式的数据。注意,CSV格式的每一行数据以换行符\n
分隔,每个字段以逗号,
分隔。
示例二:读取CSV文件并输出每一行的内容
以下是一个示例,演示如何使用readlines()
函数读取CSV文件,并输出每一个字段的内容:
file = open('data.csv', 'r')
lines = file.readlines()
headers = lines[0].strip().split(',')
for i in range(1, len(lines)):
fields = lines[i].strip().split(',')
print('Record %d:' % i)
for j in range(len(headers)):
print('\t%s: %s' % (headers[j], fields[j]))
file.close()
在这个示例中,我们使用readlines()
函数读取data.csv
文件的每一行,并将其保存在一个列表中。然后使用列表中的第一行作为列名。接着,使用for
循环遍历列表,跳过第一行,对于每一行的数据,我们使用strip()
函数移除字符串前后的空格字符,并使用split()
函数将其分割成多个字段。最后,我们使用for
循环遍历每一个字段,并打印出该行数据的内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python文件操作的基础详细讲解(write、read、readlines、readline) - Python技术站