Это связано с моим предыдущим постом здесь . Запустив реальный скрипт, я вывел результат примерно так:
[root@test_vm /]# torque_history.py -m 4
Job Id User Real User Start Date S End Date Exec Host Queue
----------- -------- -------------- -------------- - -------------- ----------- -------
0.vmtest2 dteam001 Kashif M. Raza 18/04 16:53:03 C 18/04 16:53:05 vmtest1.abc express
2.vmtest2 dteam007 Arnau Hahkala 19/04 13:21:19 C 19/04 13:23:26 vmtest3.abc medium
....
....
160.vmtest2 sgmatlas Andrew Lloyd 30/04 15:44:36 C 30/04 15:54:04 node029.abc short
162.vmtest2 sgmops Maarten Lapka 30/04 16:44:36 C 30/04 16:45:48 vmtest1.abc express
---------------------------------
107 records in history (0.04 sec)
-m 4
печатает записи только за апрель, если опция не указана, печатает записи целиком и так далее. Я хочу, чтобы мой пользователь мог построить строку условного запроса, например: m == "4" && RealUser == "Maarten Lapka"
, а также вывести результат с единственными полями, которые он хочет, в желаемом формате, например: JobId && StartDate && User
, что означает, что пользователь ищет записи о работах, представленные Мартеном Лапкой в апреле и желающие напечатать только идентификатор задания, дату начала работы и имя пользователя в указанном им порядке. Таким образом, возможная команда может быть:
torque_history.py -c 'm == "4" && RealUser == "Maarten Lapka"' -f 'JobId && ExecHost && StartDate'
, где -c
- это сокращение от --constraint
и -f
для --format
или чего-либо еще. Кто-нибудь может предложить мне какой-нибудь способ сделать это? Можно ли использовать getopt()
?
Часть моей проблемы в том, что мы используем вариант RHEL5 (то есть SL5, SLC5, CentOS), все они поставляются с Python v2.4 в качестве стандарта, и я не могу убедиться, что на каждом сайте v2.6 работает параллельно. Итак, я хочу максимально приблизиться к v2.4 и использовать getopt()
, если это возможно. Мой план состоит в том, чтобы скомпилировать код Python, используя shedskin и распространять файл c ++, чтобы минимизировать проблему совместимости. В этом случае я могу использовать v2.6, но я должен использовать модули, которые поддерживают shedskin, и getopt () является одним из них.
Извините, если я затрудняю вас, ребята, но я действительно с нетерпением жду некоторой помощи и предложений. Спасибо за ваше время. Ура !!!