我正在编写一个有两个输入的脚本:
- 包含名称列表的文件,
- 不同的文件(可以是空的或非空的)
该脚本的目的是从第一个文件中获取名称,访问某个 API 并获取有关每个名称的信息,然后将该信息写入第二个文件。如果第二个文件已经包含信息,则脚本读取写入文件的最后一行,在第一个文件中找到该条目,然后从该条目开始。但是,在读取和写入第二个文件时,我遇到了麻烦。
当我将第二个文件类型设置为“r+”然后在 file_two.read() 上进行打印时,它会显示第二个文件的内容。当我在下一行进行另一次打印时,它将文件显示为空。同样,当我将文件类型设置为“a+”时,两次都显示文件完全为空,即使我可以清楚地看到文本文件中的信息确实存在。有谁知道发生了什么?
这是处理写入的代码段:
def write_to_file(filename, users):
pages = range(0, len(users) - 100, 100)
for page in pages:
user_names = get_users(users[page: page+100])
lines = [format_user(user) for user in user_names]
output_text = '\n'.join(lines)
with filename as output_file:
output_file.write(output_text.encode('utf-8'))
这是调用上述函数的代码段。
file_one = args.file1
file_two = args.file2
users = read_names_automatic(file_one)
write_to_file(file_two, users)