私は2つの入力を持つスクリプトを書いています:
- 名前のリストを含むファイル、
- 別のファイル (空または空でない可能性があります)
スクリプトの目的は、最初のファイルから名前を取得し、特定の API にアクセスして各名前に関する情報を取得し、その情報を 2 番目のファイルに書き込むことです。2 番目のファイルに既に情報が含まれている場合、スクリプトは書き込まれたファイルの最後の行を読み取り、最初のファイルでそのエントリを見つけて、そのエントリから開始します。ただし、2番目のファイルの読み取りと書き込みに関しては、問題が発生しています。
2 番目のファイル タイプを「r+」に設定し、file_two.read() で出力すると、2 番目のファイルの内容が表示されます。次の行で別の印刷を行うと、ファイルが空として表示されます。同様に、ファイル タイプを「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)