Невозможно вставить команды awk / bash в python - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь заменить новые строки на "\ n", чтобы создать файл сертификата из одной строки. Я использую awk и sed, чтобы сделать это, это прекрасно работает на Linux-машине. Но когда я пытаюсь встроить этот код в python, он выдает синтаксические ошибки.

>>> import os
>>> os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
  File "<stdin>", line 1
    os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
                                                          ^

SyntaxError: неожиданный символ после символа продолжения строки

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

В вашей командной строке используется ", но она также содержит ", поэтому вам нужно их избежать.

"awk '{printf \"%s\\n\", $0}\' rsacert.pem > test"
0 голосов
/ 14 октября 2019

Синтаксическая проблема начинается здесь:

os.system("awk '{printf "%s\\n", $0}\' rsacert.pem > test")
                        ^

Здесь заканчивается строка python, и вы вставляете символы управления строкой в ​​скрипт python, а не системную команду

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...