Установка Python 3.7 из исходного кода с пользовательской установкой openssl :test _ssl не удалось

Добавление ответа на основе вашего последнего обновления (SSH на каждый сервер и выполнение одной или нескольких команд, использующих значения идентификатора и имени ).

Начиная с примера файла, подобного этому:

$ cat testfile.txt
192.168.56.1,12345,N1
192.168.56.2,23456,N2
192.168.56.3,34567,N3

Цикл whileс readможет выполнять эту работу:

while IFS=, read -r IP ID NAME; do 
    echo "ssh $IP myprogram $ID $NAME"
done < testfile.txt

Что дает следующий результат:

ssh 192.168.56.1 myprogram 12345 N1
ssh 192.168.56.2 myprogram 23456 N2
ssh 192.168.56.3 myprogram 34567 N3

Цикл работает следующим образом. Из входного файла каждая строка читается по очереди. В каждой строке содержимое разбивается на разные поля на основе специальной переменной IFS. Установив IFS=,, вы разделяете строку при каждом появлении символа ','. Это приведет к тому, что каждая строка будет разделена на три поля.

После этого каждое поле назначается соответствующим переменным IP, IDи NAME. Эти переменные доступны вам внутри тела цикла. В качестве примера я просто распечатываю возможную команду sshдля каждой строки.

Обратите внимание, что файл CSV, который я использовал в качестве примера, является простым. Если у вас есть более сложный файл CSV, вам нужно будет использовать подходящий парсер CSV, такой как csvkit.

1
19.03.2020, 13:47
1 ответ

Тест не прошел из-за изменения поведения в OpenSSL 1.1.1e. Попробуйте сейчас с OpenSSL 1.1.1d. См.https://bugs.python.org/issue40018для получения дополнительной информации.

1
28.04.2021, 23:20

Теги

Похожие вопросы