Я не обеспокоился бы символом auto-root-finding ~
. Я понимаю, что Вы хотите то же решение работать, где корневой каталог отличается между развертыванием, но в рамках документа CSS у Вас не должно быть проблем с помощью относительных путей. Пути в документе CSS (к URL изображения в Вашем примере) всегда будут относительно местоположения файла CSS независимо от пути любой страницы, которая загружает тот файл CSS. Таким образом, если Ваши изображения будут в ~/Content/Images
, и Ваши таблицы стилей находятся в ~/Content/Stylesheets
, Вы всегда будете в состоянии использовать background-image: url(../Images/form_bg.gif);
, и это будет работать независимо от местоположения страницы, которая загружает таблицу стилей.
там причина, это не работало бы?
Первый элемент sys.argv
( sys.argv [0]
) - это имя выполняемого в данный момент сценария. Поскольку это имя сценария (вероятно) не является допустимым аргументом (и, вероятно, не начинается с -
или -
в любом случае), getopt
не распознает это как аргумент. Из-за особенностей работы getopt
, когда он видит что-то, что не является флагом командной строки (то, что не начинается с -
или -
] ), он прекращает обработку параметров командной строки (и помещает остальные аргументы в args
), поскольку предполагает, что остальные аргументы являются элементами, которые будут обрабатываться программой (например, имена файлов или другие "
Это задумано. Напомним, что sys.argv [0] - это имя запущенной программы, и getopt не хочет этого.
Из документации:
Анализирует параметры командной строки и список параметров. args - аргумент список для анализа, без начала ссылка на запущенную программу. Обычно это sys.argv [1:]. options - строка параметра буквы, которые сценарий хочет признать, с вариантами, которые требуют аргумент, за которым следует двоеточие (':'; то есть тот же формат, что и Unix getopt () использует).