Bash псевдоним для сценария Python - это возможно? - PullRequest
4 голосов
/ 17 февраля 2010

Конкретный псевдоним, который я ищу, чтобы "классифицировать" в скрипте Python, это тот, который использует опцию cUrl -o (output to file). Я полагаю, что я мог бы так же легко превратить это в функцию BASH, но кто-то посоветовал мне, чтобы я мог избежать причуд и ловушек различных версий и «разновидностей» BASH, взяв мои идеи и сделав их скриптами Python.

Совпадение с этой идеей является еще одним понятием, которое мне пришлось сделать функцией устаревшей Mac OS (официально известной как «OS 9» или «Classic»), относящейся к загрузкам, не зависящей от платформы: запись URL в некоторую часть файла видимой из файлового навигатора {Konqueror, Dolphin, Nautilus, Finder или Explorer}. Я знаю, что лишь немногие типы файлов поддерживают подобные вещи, используя некоторые другие инструменты командной строки (exiv2, wrjpgcom и т. Д.). Это прекрасно для меня, так как я в любом случае использую этот псевдоним для загрузки одностраничных файлов изображений, таких как JPEG.

Полагаю, что я мог бы в полной мере воспользоваться мощью Python, передав скрипту строку, которая является исходным URL-адресом загрузки (введенной пользователем и использованной сначала cUrl), во что-то наподобие exiv2, который может записать это блок комментариев, блок комментариев пользователей EXIF ​​и (в качестве первого и худшего примера) поле «Описание файла» в Windows XP. Начинать с малого - иногда хороший способ начать.

Надеюсь, у кого-то есть советы или предложения.

BZT

Ответы [ 2 ]

10 голосов
/ 17 февраля 2010

соответствующий раздел из руководства Bash гласит:

Псевдонимы позволяют строке быть заменить слово, когда оно используется как первое слово простой команды.

Итак, ничто не должно мешать вам, например,

$ alias geturl="python /some/cool/script.py"

Тогда вы можете использовать его как любую другую команду оболочки:

$ geturl http://example.com/excitingstuff.jpg

И это просто вызвало бы вашу программу на Python.

0 голосов
/ 20 февраля 2010

Я думал, что Пикурл может быть ответом. Ааа Даниэль Штернберг и его невинные предположения, что все знают, что он делает. Я спросил в списке, есть ли у pycurl аналог «curl -o», а затем спросил: «Если так: как можно было бы кодировать его / их в скрипте Python?» Его ответ был следующим:

"curl.setopt (pycurl.WRITEDATA, fp)

возможно в сочетании с:

curl.setopt (pycurl.WRITEFUNCITON, callback) "

... вместе со ссылками на Sourceforge две ревизии retriever.py. Я едва могу вспомнить, где easy_install поместил тот, который у меня есть; как мне их сравнивать?

Совершенно очевидно, что у этого джентльмена никогда не было службы поддержки или телефонной службы технической поддержки в Западном полушарии, где вы должны предположить, что «клиент» только что научился пользоваться гребнем вчера и быть готовым пройти через все и во что угодно. Однострочные (или трехсторонние с заумными ссылками в качестве охотников) не делают этого для меня.

BZT

...