以下是一个示例代码,演示了如何通过URL检索文件而不将文件加载到内存中:
import urllib.request
url = "https://example.com/path/to/file.txt"
# 打开URL链接
with urllib.request.urlopen(url) as response:
# 使用迭代器逐行读取文件内容
for line in response:
# 处理每一行的数据
print(line.decode('utf-8').strip())
上述代码使用urllib.request.urlopen()
函数打开指定的URL链接,并返回一个类似于文件对象的迭代器。通过迭代器,可以逐行读取文件内容,而不是一次性将整个文件加载到内存中。
注意,上述示例假设文件是以UTF-8编码的。如果文件是以其他编码方式编码的,需要相应地调整decode()
函数的参数。
这种方法适用于处理较大的文件,因为它不会将整个文件加载到内存中,而是一次只读取一行数据。这在内存有限的情况下尤其有用。
下一篇:不显老旧的Delphi风格