Перейдите к проектам с открытым исходным кодом. Там Вы не должны просить разрешение видеть код.
Если вам нужно программно управлять подпроцессом, вам следует изучить возможность использования pexpect .
Я использую rsync для резервного копирования всех веб-сайтов моих клиентов. Сценарий запускается cron, и он использует файлы Makefiles для каждого клиента из-за их различных потребностей.
Вместо того, чтобы делать что-то, что вводит пароль, используйте ssh-keygen для создания пары открытого / закрытого ключей и поместите ваш открытый ключ в удаленная машина. Это дает вам безопасные соединения без пароля. Это также означает, что вам не нужно открывать миру порт rsync. После того, как вы пройдете кривую обучения этому (и это не очень круто), ssh станет наиболее определенно вашим другом.
Если вы хотите взаимодействовать с подпроцессом в целом, вы можете использовать pexpect , как упоминалось в другом месте. Но в вашем конкретном случае, предполагая, что ваш rsync работает через ssh (по умолчанию), вы можете подумать о настройке беспарольного ssh соединения между двумя хостами, что избавит от необходимости вводить пароль. . Это решение на основе ключей , которое будет намного безопаснее, чем хранение вашего пароля в исходном коде.
Я не думаю, что он поддерживает rsync из коробки, но paramiko может иметь некоторые компоненты, которые вы могли бы переработать?
Если вам просто нужно ввести пароль, вы можете попробовать заполнить переменную окружения RSYNC_PASSWORD
или использовать опцию --password-file
.