Форум сайта python.su
py.user.next
О, поняла! Спасибо
А то я подумала еще, что зря в переменную сохраняю, если требуется только вывести и отобразить.
py.user.nextПоняла, буду делать правильно в других задачах.
Ворота делаются для того, чтобы в случае импорта этого модуля для простого взятия функций из него, как из любого другого импортированного модуля (типа math, itertools и других) функция main() не запускалась на выполнение и ничего не вычислялось и не выводилось ни на какой экран. А при выполнении этого файла, когда он запускает на выполнение сам по себе как программа, ворота видят, что файл запущен как программа, и пропускают интерпретатор внутрь к вызову функции main(). Функция main() вызывается и всё работает.
py.user.nextЕще одно спасибо, я боялась добавлять, чтобы потом при переносе не ломалось.
Видишь да, ещё твой код слитный, а мой раздельный? Это я в начале пустых строк поставил один пробел. Секрет форума.
Офлайн
OceanНе, я просто скрипты в Google Sheets перестал использовать и всё. Они там предлагают язык этот их учить, чтобы функции писать в документах, а я просто на него забил - пускай сами учат свой язык, который нафиг не нужен. А в LibreOffice скрипты на JavaScript снаружи лежат, это тоже неудобно. Хочется, чтобы оно внутри файла хранилось, потому что он же гуляет туда-сюда, где-то он в бэкап идёт и так далее. Это его надо бэкапить, потом скрипты надо бэкапить - ну, такое.
А что взамен используешь? Open office online? Или вообще ничего?
load_file_ok_get_vformat() { local url=$1 Ytl "$url" | awk ' state == 0 { if ($1 ~ "^(sd|hd)$") state = 1 } state == 1 { if ($1 ~ "^hls-[0-9]+$") { vformat = $1 state = 0 } } END {print vformat} ' }
[guest@localhost ~]$ Ytl https://ok.ru/video/794300844679
mobile mp4 unknown
mpd-0 mp4 256x144 DASH video 122k , mp4_dash container, avc1.64000C, 30fps, mp4a.40.2 (44100Hz)
hls-162 mp4 256x144 162k
lowest mp4 unknown
mpd-1 mp4 426x240 DASH video 359k , mp4_dash container, avc1.640015, 30fps, mp4a.40.2 (44100Hz)
hls-409 mp4 426x240 409k
low mp4 unknown
mpd-2 mp4 640x360 DASH video 765k , mp4_dash container, avc1.64001E, 30fps, mp4a.40.2 (44100Hz)
hls-837 mp4 640x360 837k
sd mp4 unknown
mpd-3 mp4 852x480 DASH video 1361k , mp4_dash container, avc1.64001F, 30fps, mp4a.40.2 (44100Hz)
hls-1466 mp4 852x480 1466k
hd mp4 unknown
mpd-4 mp4 1280x720 DASH video 2952k , mp4_dash container, avc1.64001F, 30fps, mp4a.40.2 (44100Hz)
hls-3148 mp4 1280x720 3148k (best)
[guest@localhost ~]$
[guest@localhost ~]$
[guest@localhost ~]$ load_file_ok_get_vformat https://ok.ru/video/794300844679
hls-3148
[guest@localhost ~]$
[guest@localhost ~]$ Ytl https://ok.ru/video/91577387571
mobile mp4 unknown
mpd-0 mp4 256x138 DASH video 114k , mp4_dash container, avc1.42c01e, 24fps, mp4a.40.2 (44100Hz)
hls-147 mp4 256x138 147k
lowest mp4 unknown
mpd-1 mp4 426x230 DASH video 305k , mp4_dash container, avc1.42c01e, 24fps, mp4a.40.2 (44100Hz)
hls-349 mp4 426x230 349k
low mp4 unknown
mpd-2 mp4 640x346 DASH video 649k , mp4_dash container, avc1.64001e, 24fps, mp4a.40.2 (44100Hz)
hls-710 mp4 640x346 710k
sd mp4 unknown
mpd-3 mp4 852x462 DASH video 1155k , mp4_dash container, avc1.64001e, 24fps, mp4a.40.2 (44100Hz)
hls-1240 mp4 852x462 1240k
hd mp4 unknown
mpd-4 mp4 1280x692 DASH video 2566k , mp4_dash container, avc1.64001f, 24fps, mp4a.40.2 (44100Hz)
hls-2718 mp4 1280x692 2718k
full mp4 unknown
mpd-5 mp4 1920x1040 DASH video 5484k , mp4_dash container, avc1.640028, 24fps, mp4a.40.2 (44100Hz)
hls-5760 mp4 1920x1040 5760k (best)
[guest@localhost ~]$
[guest@localhost ~]$
[guest@localhost ~]$ load_file_ok_get_vformat https://ok.ru/video/91577387571
hls-2718
[guest@localhost ~]$
# Increment time in the file name; # The file name "name123.ext" is set to 1 hour 23 minutes # FileTimeInc(fname, minutes) FileTimeInc() { local fname=$1 local mininc=$2 [ $# -ne 2 ] && { echo "usage: $FUNCNAME filenameTIME.ext MIN" echo "" echo "Example: $FUNCNAME name50.ext 15 --> name105.ext" return 1 } >&2 awk -v fname="$fname" -v mininc="$mininc" ' # Split filename in form "file.ext" to ["file", "", ".ext"] # or "file123.ext" to ["file", "123", ".ext"] # return 0 if split is wrong # return 1 if split is right and has 3 parts function split_filename(fname, out) { if (fname ~ /[0-9]\.[^.]+$/) { sub(/[0-9]+\.[^.]+$/, "|&", fname) sub(/\.[^.]+$/, "|&", fname) } else { sub(/\.[^.]+$/, "||&", fname) } return split(fname, out, "|") == 3 } # Convert number in form 1 to 3 if increment is 2 # or number in form 59 to 101 if increment is 2 # return converted value function convert_time(n, inc, out, left, right, moved, reminder) { if (length(n) <= 2) { out = int((n + inc) / 60) * 100 + (n + inc) % 60 return out } else { left = int(n / 100) right = n % 100 moved = int((right + inc) / 60) reminder = (right + inc) % 60 out = (left + moved) * 100 + reminder return out } } BEGIN { if (split_filename(fname, parts)) { newfname = parts[1] convert_time(parts[2], mininc) parts[3] print "mv \"" fname "\" \"" newfname "\"" } }' | sh return 0 }
OceanЗнаешь, шелуха летит, конечно, но там тряпочка лежит под клеткой как раз для шелухи. Просто тряпочку поднимаешь и вся шелуха сползает к центру тряпочки. И она потом по комнате не летает и к одежде не прилипает, когда собираешься в город. Как собираешься в город, так сначала минут десять выковыриваешь перья зелёные из одежды.
Там еще и шелуха от еды с перьями летит.
OceanНе, она чистится, когда она в спокойном состоянии. То есть я её когда выпускаю из клетки в комнате, она на люстру садится и может весь день сидеть и чиститься там. Чистюля такая. Это значит, что ей комфортно.
Чистится еще потом небось долго после паники, возмущается и недовольно на тебя смотрит.
Отредактировано py.user.next (Май 11, 2021 14:10:53)
Офлайн