def custom_encryption(text):
# 自定义加密逻辑,这里简单示例为字符的ASCII码加1
encrypted_text = ''.join(chr(ord(char) + 1) for char in text)
return encrypted_text
def process_large_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
encrypted_line = custom_encryption(line.strip())
# 这里可以对加密后的行进行输出或其他处理,例如写入新文件
print(encrypted_line)
# 使用示例
file_path = 'your_large_file.txt'
process_large_file(file_path)
实现理由
- 逐行读取:使用
with open(file_path, 'r', encoding='utf-8') as file
结合 for line in file
的方式逐行读取文件。这样每次只在内存中保留一行数据,避免一次性将整个大文件读入内存,极大地减少了内存占用。
- 自定义加密逻辑:在
custom_encryption
函数中定义加密逻辑。这里简单地将每个字符的ASCII码加1,实际应用中可根据需求替换为更复杂的加密算法,如AES等。
- 及时处理:对每一行加密后,可以立即对加密后的内容进行后续处理,如输出到控制台、写入新文件等。这样可以避免在内存中累积过多加密后的行数据,进一步保证内存使用的高效性。