LINUX.ORG.RU

Передать содержимое переменной

 


0

1

Уважаемые знатоки питона, у меня такой вопрос. нужно выполнить системную команду перехода в директорию. Вот если я пишу так: os.system(“konsole -workdir /home”) то все работает, а если вот так dir = “/home” os.system(“konsole -workdir dir”) то не работает. Подскажите плиз, что делать

os.system("konsole -workdir {0}".format(dir))

Upd: os.system - deprecated, надо использовать subprocess.

hippi90 ★★★★★
()
Последнее исправление: hippi90 (всего исправлений: 1)

Подскажите плиз, что делать

Читать документацию, очевидно же.

Kilte ★★★★★
()
Ответ на: комментарий от sT331h0rs3

Не надо так делать.

Во-первых, там не хватает пробела после workdir. Во-вторых, однажды в dir может попасть что-то вроде '/home &; rm -fr /* >/dev/null 2>&1' =).

Deleted
()
Ответ на: Не надо так делать. от Deleted

Про пробел - прошу прощения, опечатка, про попасть - можно сделать ассерт :)

sT331h0rs3 ★★★★★
()

Типичный питонист

anonymous
()
Ответ на: комментарий от panter_dsd

А чем твой вариант с format тут поможет?

Мой вариант? Я такого не предлагал. Тут поможет только subprocess.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.