Передача переменной, заданной пользователем, в качестве параметра для команды os.system()

Хорошо, так что в основном я новичок в Python, однако я хотел бы создать простую систему меню для всех моих основных инструментов, которые я использую на работе, мой код до сих пор ниже:

import os
def main():
    print "Main Menu.\n"
    print "1. Ping yourself.\n"
    print "2. Ping someone else.\n"
    opt = raw_input ("Please enter a number:- ")
    if opt == "1":
            os.system('ping 127.0.0.1')
    if opt == "2":
            ip = raw_input ("Please enter IP:- ")
            os.system('ping'.ip)

main()

Теперь все работает нормально, однако я, похоже, застрял в этой строке:

os.system('ping'.ip)

Как я хотел бы использовать переменную в строке 10, которая будет использоваться в команде. Надеюсь, это простое решение.

Спасибо,

Росс.

Ответ 1

Вам потребуется пробел, а оператор конкатенации строк +, а не .:

os.system("ping " + ip)

Вы также можете использовать форматирование строк:

os.system("ping %s" % ip)

Ответ 2

Вам потребуется пробел между командой и аргументом.

Ответ 3

Как только вы заработаете правильно, что произойдет, если пользователь введет:

127.0.0.1; rm -rf /