Вы можете сделать это так:
with open('result_file.txt', 'w') as result_file:
for directory, _, filenames in os.walk(folder_location):
for filename in filenames:
full_path = os.path.join(directory, filename)
with open(full_path, 'r') as source_file:
for line in source_file:
stripped = line.rstrip()
email, password = stripped.split(':', maxsplit=1)
print(password, file=result_file)
maxsplit=1
гарантирует, что ваша строка разбита не более чем на 2 компонента. Это важно в том случае, если пароль также содержит двоеточие. Без maxsplit=1
это даст вам 3 компонента, то есть последние два будут разбиты на середину пароля.
Если вы используете Python 2.7, функция print()
с поддержкой file=
не будет доступна по умолчанию, но вы можете сделать ее доступной, поставив ее вверху вашей программы:
from __future__ import print_function
Если вы застряли на более старой версии Python или не хотите использовать print()
, вы можете сделать это вместо этого:
result_file.write(password + "\n")