Я не знаком с интерфейсом Python для ножа, но я не вижу причин для этого не работать:
import sh
sh.knife.ec2.server.create(r='role[x]', I='ami-xxxxxxx', f='t2.micro', aws-access-key-id=ACCESS_KEY, aws-secret-access-key=SECRET_KEY)
Вам нужно pip install sh
для него, так что вы можете также использовать подпроцесс для вместо этого, если вы не хотите дополнительных зависимостей:
import subprocess
subprocess.Popen('knife ec2 server create ...', shell=True)
Если бы я тебя, я бы написать небольшой клиент для работы ножа команды более комфортно, хотя, как если вы используете нож, это, вероятно, не только команду, которую вы собираетесь запустить. sh
был бы идеален для этого.
Что касается вашего второго вопроса, вы должны открыть для него еще одну проблему.