Почему работа getopt не состоит в том, если sys.argv передается полностью?

Я не обеспокоился бы символом auto-root-finding ~. Я понимаю, что Вы хотите то же решение работать, где корневой каталог отличается между развертыванием, но в рамках документа CSS у Вас не должно быть проблем с помощью относительных путей. Пути в документе CSS (к URL изображения в Вашем примере) всегда будут относительно местоположения файла CSS независимо от пути любой страницы, которая загружает тот файл CSS. Таким образом, если Ваши изображения будут в ~/Content/Images, и Ваши таблицы стилей находятся в ~/Content/Stylesheets, Вы всегда будете в состоянии использовать background-image: url(../Images/form_bg.gif);, и это будет работать независимо от местоположения страницы, которая загружает таблицу стилей.

там причина, это не работало бы?

5
задан Geo 8 October 2009 в 20:48
поделиться

2 ответа

Первый элемент sys.argv ( sys.argv [0] ) - это имя выполняемого в данный момент сценария. Поскольку это имя сценария (вероятно) не является допустимым аргументом (и, вероятно, не начинается с - или - в любом случае), getopt не распознает это как аргумент. Из-за особенностей работы getopt , когда он видит что-то, что не является флагом командной строки (то, что не начинается с - или - ] ), он прекращает обработку параметров командной строки (и помещает остальные аргументы в args ), поскольку предполагает, что остальные аргументы являются элементами, которые будут обрабатываться программой (например, имена файлов или другие "

13
ответ дан 18 December 2019 в 08:29
поделиться

Это задумано. Напомним, что sys.argv [0] - это имя запущенной программы, и getopt не хочет этого.

Из документации:

Анализирует параметры командной строки и список параметров. args - аргумент список для анализа, без начала ссылка на запущенную программу. Обычно это sys.argv [1:]. options - строка параметра буквы, которые сценарий хочет признать, с вариантами, которые требуют аргумент, за которым следует двоеточие (':'; то есть тот же формат, что и Unix getopt () использует).

http://docs.python.org/library/getopt.html

6
ответ дан 18 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: