Как использовать awk в python

#python-2.7

Вопрос:

Я хочу написать нижеприведенный awk на python

 awk 'FNR==1{print;next}!(NR%2){a=$0; next} {printf "%s %s%s%s", $1,a,FS,ORS}' FS=';' file  

Я пробовал использовать

 os.system(' awk "FNR==1{print;next}!(NR%2){a=$0; next} {printf "%s %s%s%s", $1,a,FS,ORS}" FS=';' file ')  

Но я получаю синтаксическую ошибку.

Комментарии:

1. Синтаксическая ошибка, вероятно, подробно описала проблему, а если нет, то форматирование Python Stackoverflow. Обратите внимание на использование ' между os.system(' и 'FNR . Вы закрываете ' . Вместо этого вам нужно убедиться, что внутри одинарных кавычек вы используете только двойные кавычки или наоборот.

2. Можете ли вы исправить код? Так будет лучше понять

3. Опубликовано ниже, чтобы помочь вам.

Ответ №1:

 os.system('awk "FNR==1{print;next}!(NR%2){a=$0; next} {printf "%s %s%s%s", $1,a,FS,ORS}" FS=";" file ')  

Обратите внимание, как все внутри ' котировок зеленое (отличается от вашего).

Комментарии:

1. Да, я понял вашу точку зрения. Я попробовал это .. но это также показывает синтаксическую ошибку

2. Если возникает синтаксическая ошибка awk , это означает awk , что сама команда нарушена, что, скорее всего, так и есть, потому что я только что запустил приведенный выше код на своей машине и получил awk: syntax error at source line 1 . В данном случае это не проблема Python.