Python内置十大文件操作("Python必备:内置十大文件操作技巧详解")
原创
一、打开文件(open)
在Python中,使用内置的open()函数可以打开一个文件,并返回一个文件对象。open()函数的基本语法如下:
file = open(file_path, mode)
其中,file_path是文件的路径,mode是文件的打开模式,如'r'即只读模式,'w'即写入模式等。
二、读取文件内容(read)
使用文件对象的read()方法可以读取文件的内容。以下是一个示例:
file = open(file_path, 'r')
content = file.read()
print(content)
file.close()
read()方法可以读取整个文件的内容,如果需要读取一部分内容,可以使用read(n)方法,其中n即读取的字符数。
三、逐行读取文件(readline)
使用文件对象的readline()方法可以逐行读取文件内容。以下是一个示例:
file = open(file_path, 'r')
while True:
line = file.readline()
if not line:
break
print(line.strip())
file.close()
readline()方法每次读取一行内容,当读取到文件末尾时,返回一个空字符串,此时可以退出循环。
四、读取所有行(readlines)
使用文件对象的readlines()方法可以一次性读取文件的所有行,并将其存储在一个列表中。以下是一个示例:
file = open(file_path, 'r')
lines = file.readlines()
for line in lines:
print(line.strip())
file.close()
readlines()方法返回一个包含所有行的列表,每行是一个字符串。
五、写入文件(write)
使用文件对象的write()方法可以向文件中写入内容。以下是一个示例:
file = open(file_path, 'w')
file.write('Hello, World! ')
file.write('这是第二行内容 ')
file.close()
write()方法每次写入一个字符串,如果需要写入多个字符串,可以多次调用write()方法。
六、追加内容到文件(append)
使用文件对象的append()方法可以向文件末尾追加内容。以下是一个示例:
file = open(file_path, 'a')
file.write('这是追加的内容 ')
file.close()
append()方法与write()方法类似,但它会将内容追加到文件的末尾,而不是覆盖原有内容。
七、文件定位(seek)
使用文件对象的seek()方法可以改变文件当前的位置。以下是一个示例:
file = open(file_path, 'r')
file.read(5) # 读取前5个字符
file.seek(0) # 将文件指针移动到开头
content = file.read()
print(content)
file.close()
seek()方法接收一个参数,即新的文件位置。如果参数为0,即移动到文件开头;如果为-1,即移动到文件末尾。
八、获取文件当前位置(tell)
使用文件对象的tell()方法可以获取文件当前的位置。以下是一个示例:
file = open(file_path, 'r')
file.read(5) # 读取前5个字符
position = file.tell()
print(position) # 输出当前文件位置
file.close()
tell()方法返回一个整数,即文件当前位置的字节偏移量。
九、文件重命名(rename)
使用os模块的rename()函数可以重命名文件。以下是一个示例:
import os
old_file_path = 'old_name.txt'
new_file_path = 'new_name.txt'
os.rename(old_file_path, new_file_path)
rename()函数接收两个参数,分别是原文件路径和新文件路径。
十、删除文件(remove)
使用os模块的remove()函数可以删除文件。以下是一个示例:
import os
file_path = 'delete_file.txt'
os.remove(file_path)
remove()函数接收一个参数,即要删除的文件路径。
总结
本文详细介绍了Python中内置的十大文件操作技巧,包括打开文件、读取文件内容、逐行读取文件、读取所有行、写入文件、追加内容到文件、文件定位、获取文件当前位置、文件重命名和删除文件。掌握这些技巧,可以更好地进行文件操作,减成本时间编程快速。