Python 文件操作指南
一、文件的打开与关闭
(一)打开文件
在 Python 中,可以使用内置的open()
函数来打开文件。它接受文件名和模式作为参数,并返回一个文件对象。
-
基本语法:
file = open(file_name, mode)
-
file_name
:要打开的文件的名称,可以是相对路径或绝对路径。 -
mode
:打开文件的模式,如'r'
表示只读模式,'w'
表示写入模式,'a'
表示追加模式等。
-
-
示例:
# 以只读模式打开文件 file = open('example.txt', 'r')
(二)关闭文件
打开的文件在使用完毕后应该及时关闭,以释放资源。可以使用文件对象的close()
方法来关闭文件。
-
基本语法:
file.close()
-
示例:
file = open('example.txt', 'r') # 对文件进行操作 file.close()
为了确保文件在使用后一定被关闭,也可以使用with
语句来打开文件,这样在with
代码块结束时,文件会自动关闭。
-
基本语法:
with open(file_name, mode) as file: # 对文件进行操作
-
示例:
with open('example.txt', 'r') as file: content = file.read() print(content)
二、文件的读取操作
(一)读取整个文件
-
read()
方法:可以读取整个文件的内容,并将其作为一个字符串返回。with open('example.txt', 'r') as file: content = file.read() print(content)
-
readlines()
方法:读取文件的所有行,并将它们作为一个列表返回,每行是列表中的一个元素。with open('example.txt', 'r') as file: lines = file.readlines() for line in lines: print(line.strip()) # strip()用于去除每行末尾的换行符
(二)逐行读取文件
-
使用
for
循环:可以逐行读取文件,这种方法在处理大文件时比较高效,因为它不会一次性将整个文件读入内存。with open('example.txt', 'r') as file: for line in file: print(line.strip())
三、文件的写入操作
(一)写入文件
-
write()
方法:可以将字符串写入文件。如果文件以写入模式('w'
)或追加模式('a'
)打开,就可以使用这个方法。# 以写入模式打开文件,如果文件不存在,将创建一个新文件 with open('example.txt', 'w') as file: file.write('Hello, world!')
# 以追加模式打开文件,在文件末尾添加内容 with open('example.txt', 'a') as file: file.write('\nThis is a new line.')
(二)写入多行内容
-
可以使用
writelines()
方法将一个字符串列表写入文件,每行对应列表中的一个元素。lines = ['Line 1', 'Line 2', 'Line 3'] with open('example.txt', 'w') as file: file.writelines(lines)
四、文件的其他操作
(一)文件指针操作
-
tell()
方法:返回文件指针的当前位置。with open('example.txt', 'r') as file: position = file.tell() print(position)
-
seek()
方法:用于移动文件指针到指定位置。with open('example.txt', 'r') as file: file.seek(10) # 将文件指针移动到第 10 个字节处 content = file.read() print(content)
(二)文件属性获取
-
name
属性:返回文件的名称。with open('example.txt', 'r') as file: print(file.name)
-
mode
属性:返回文件的打开模式。with open('example.txt', 'r') as file: print(file.mode)
(三)文件的删除与重命名
-
使用
os
模块删除文件:可以使用os.remove()
函数删除文件。import os os.remove('example.txt')
-
使用
os
模块重命名文件:可以使用os.rename()
函数重命名文件。import os os.rename('old_name.txt', 'new_name.txt')
五、处理不同类型的文件
(一)处理 CSV 文件
-
使用
csv
模块:可以方便地读取和写入 CSV 文件。import csv # 写入 CSV 文件 with open('data.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerow(['Name', 'Age', 'City']) writer.writerow(['John', '30', 'New York']) writer.writerow(['Alice', '25', 'London']) # 读取 CSV 文件 with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
(二)处理 JSON 文件
-
使用
json
模块:可以处理 JSON 格式的文件。import json # 写入 JSON 文件 data = {'name': 'John', 'age': 30, 'city': 'New York'} with open('data.json', 'w') as file: json.dump(data, file) # 读取 JSON 文件 with open('data.json', 'r') as file: data = json.load(file) print(data)
(三)处理 Excel 文件
-
使用
openpyxl
库:可以处理 Excel 文件(.xlsx
格式)。from openpyxl import Workbook, load_workbook # 写入 Excel 文件 wb = Workbook() ws = wb.active ws['A1'] = 'Name' ws['B1'] = 'Age' ws['C1'] = 'City' ws.append(['John', '30', 'New York']) ws.append(['Alice', '25', 'London']) wb.save('data.xlsx') # 读取 Excel 文件 wb = load_workbook('data.xlsx') ws = wb.active for row in ws.iter_rows(values_only=True): print(row)
通过以上内容,你可以了解 Python 中对文件的各种操作方法,包括打开、关闭、读取、写入、处理不同类型的文件等。根据具体的需求,可以选择合适的方法来操作文件。
标签:文件,python,学习,file,print,txt,open,example From: https://blog.csdn.net/wu73guang5jian/article/details/142627839