可以使用open()函数打开一个文件,并指定打开文件的模式和文件名:
# 打开文件
file = open("filename.txt", "r")
其中,第一个参数为文件名,第二个参数为打开文件的模式,常用的模式有:
使用close()函数关闭一个已经打开的文件:
# 关闭文件
file.close()
使用read()函数读取文件的内容:
# 读取整个文件
content = file.read()
print(content)
也可以使用readline()函数逐行读取文件的内容:
# 逐行读取文件
line = file.readline()
while line:
print(line)
line = file.readline()
使用write()函数向文件中写入内容:
# 写入文件
file.write("Hello World!")
使用os模块中的remove()函数删除文件:
# 删除文件
import os
os.remove("filename.txt")
可以使用with open语句以追加模式打开两个文件,读取其中的内容并逐行写入新的合并文件中,最终关闭三个文件。
代码示例:
with open("file1.txt", "r") as file1, open("file2.txt", "r") as file2, open("merged_file.txt", "a") as merged_file:
for line in file1:
merged_file.write(line)
for line in file2:
merged_file.write(line)
可以使用with open语句按行读取两个文件,在每一行进行比较,如果不同就输出不同行的行数和行内容。如果两个文件长度不同,那么在对比时会出现IndexError,可以在捕获这个异常的情况下输出“文件长度不同”。
代码示例:
with open("file1.txt", "r") as file1, open("file2.txt", "r") as file2:
try:
for i, (line1, line2) in enumerate(zip(file1, file2)):
if line1 != line2:
print("Line {} in file1 is different from line {} in file2".format(i+1, i+1))
print("File1: {}".format(line1.rstrip()))
print("File2: {}".format(line2.rstrip()))
except IndexError:
print("Files have different lengths")
可以使用openpyxl库读取Excel文件,然后逐行读取每个工作表中的数据,并将数据存储在一个列表中。最终返回一个字典,字典的键为工作表名称,值为由数据组成的列表。
代码示例:
from openpyxl import load_workbook
def read_excel(file_path):
workbook = load_workbook(file_path)
data = {}
for sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
rows = []
for row in sheet.iter_rows():
row_data = []
for cell in row:
row_data.append(cell.value)
rows.append(row_data)
data[sheet_name] = rows
return data
可以使用os库和os.path模块中的函数,遍历目录下的所有文件,判断文件大小是否符合要求,并将符合要求的文件路径加入一个集合中返回。
代码示例:
import os
def find_files_by_size(start_dir, size):
files = set()
for root, dirs, filenames in os.walk(start_dir):
for filename in filenames:
file_path = os.path.join(root, filename)
file_size = os.path.getsize(file_path)
if file_size == size:
files.add(file_path)
return files
可以使用with open语句以读写模式打开文件,在每一行查找指定字符并用新的字符替换,最终关闭文件。
代码示例:
with open("file.txt", "r+") as file:
lines = file.readlines()
file.seek(0)
for line in lines:
new_line = line.replace("old", "new")
file.write(new_line)
file.truncate()