Czytanie i zapisywanie plików w Pythonie
Piszę skrypt, który ma dwa wejścia:
plik zawierający listę nazw,inny plik (może być pusty lub niepusty)Celem skryptu jest pobranie nazw z pierwszego pliku, uzyskanie dostępu do określonego interfejsu API i uzyskanie informacji o każdej nazwie, a następnie zapisanie tych informacji w drugim pliku. Jeśli drugi plik już zawiera informacje, skrypt odczytuje ostatni wiersz zapisanego pliku, znajduje ten wpis w pierwszym pliku, a następnie zaczyna od tego wpisu. Mam jednak kłopoty z czytaniem i zapisywaniem do drugiego pliku.
Kiedy ustawię drugi typ pliku na „r +”, a następnie wykonam wydruk na pliku_two.read (), pokazuje zawartość drugiego pliku. Kiedy wykonuję kolejny wydruk w następnym wierszu, pokazuje on plik jako pusty. Jak również, gdy ustawię typ pliku na „a +”, pokazuje on plik jako całkowicie pusty w obu przypadkach, mimo że wyraźnie widzę, że informacje w pliku tekstowym rzeczywiście tam są. Czy ktoś wie, co się dzieje?
Oto segment kodu, który obsługuje pisanie:
<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>
i oto segment kodu, który wywołuje powyższą funkcję.
<code>file_one = args.file1 file_two = args.file2 users = read_names_automatic(file_one) write_to_file(file_two, users) </code>