Lendo e escrevendo arquivos em Python
Eu estou escrevendo um script que tem duas entradas:
um arquivo contendo uma lista de nomes,um arquivo diferente (pode estar vazio ou não vazio)O objetivo do script é pegar os nomes do primeiro arquivo, acessar uma determinada API e obter informações sobre cada nome e, em seguida, gravar essas informações no segundo arquivo. Se o segundo arquivo já contiver informações, o script lerá a última linha do arquivo gravado, localizará essa entrada no primeiro arquivo e, em seguida, iniciará a partir dessa entrada. Estou tendo problemas, no entanto, quando se trata de ler e gravar no segundo arquivo.
Quando eu definir o segundo tipo de arquivo para "r +" e, em seguida, fazer uma impressão em file_two.read (), ele mostra o conteúdo do segundo arquivo. Quando faço outra impressão na linha seguinte, mostra o arquivo como vazio. Além disso, quando defino o tipo de arquivo como "a +", ele mostra o arquivo completamente vazio nas duas vezes, embora eu possa ver claramente que as informações no arquivo de texto estão realmente lá. Alguém sabe o que está acontecendo?
Aqui está o segmento de código que lida com a escrita:
<code>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')) </code>
e aqui está o segmento de código que chama a função acima.
<code>file_one = args.file1 file_two = args.file2 users = read_names_automatic(file_one) write_to_file(file_two, users) </code>