Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 7, 2021 10:58:48

satfan
Зарегистрирован: 2019-02-02
Сообщения: 140
Репутация: +  -2  -
Профиль   Отправить e-mail  

Как переписать скрипт для запуска его на Python 3

IDLE (Python 3.8 32-bit) Win 7
Есть скрипт на Python 2.7 для работы в линуксе.
Как изменить код скрипта .sh для запуска его его на Python 3 ?
То есть сделать скрипт для Python 3.8 32-bit) Win 7

 #!/bin/sh
CURL=`which curl`
if [ ! -x $CURL ] ; then
    echo "Нет утилиты curl . Выход" ; exit
fi
if [ ! -e "/etc/url.txt" ] ; then
    echo "Нет файла /etc/url.txt . Выход" ; exit
fi
cd /tmp
list="list-iptv.txt"
cp /etc/url.txt $list
sed "/^[[:space:]]*$\|^http\|^#/d" -i $list
while [ -s $list ] ; do
    str=`cat $list | head -n1`
    url=`echo "$str" | sed "s/.* //g; s/.$//"`
    #url=${url%$'\r'}
    name=`echo "$str" | sed 's/ .*//g'`
    [ "`echo ${#name}`" -le "1" ] && break
    curl -o $name "$url" > /dev/null 2>&1
    sed -i "/${name}/d" $list
    [ ! -s $name ] && echo "Плейлист $name не загружен" && echo '' && continue
    sed -i "/^$/d" $name
    sed -i "/^http\|^#EXTINF\|rtmp/!d" $name
    sed -i '/^http/N;/\nhttp/D' $name
    sed -i '/^#EXTINF/N;/\n#EXTINF/D' $name
    sed -i -e '/EXTINF/s/.*,/#DESCRIPTION /' -e '/http/s/:/%3a/g' -e 's/http/#SERVICE 4097:0:1:1:0:0:0:0:0:0:http/' $name
    cat $name | awk 'NR%2==0 {print $0; print p} {p=$0}' >> file
    sed -i "N;s/\n//" file
    echo "userbouquet.$name.tv"
    sed -i '{
/1+1/s/ .*:http/ 4097:0:1:B2:521:D:0:0:0:0:http/g;
/Iнтер\|Інтер\|Интер\|IНТЕР\|ИНТЕР\|Inter/s/ .*:http/ 4097:0:1:1F5:521:D:0:0:0:0:http/g;
/1+1 HD/s/ .*:http/ 4097:0:1:1F6:521:D:0:0:0:0:http/g;
/ICTV/s/ .*:http/ 4097:0:1:1F4:521:D:0:0:0:0:http/g;

Отредактировано satfan (Фев. 7, 2021 12:54:17)

Офлайн

#2 Фев. 7, 2021 11:59:55

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Как переписать скрипт для запуска его на Python 3

satfan
Как изменить код скрипта .sh для запуска его его на Python 3 ?
Никак, шелл скрипты на пайтоне не запускаютя.
Если же вы подразумеваете что этот скрипт вы вызываете из пайтона, то вообще пофиг из 2-го или из 3-го пайона вы вего дергаете.
Ваш шелл скрипт использует такие программы для линукс как curl sed cat,которых в windows нет, как минимум, из коробки и их придеться скачивать дополнительно.
Вариантов есть несколько:
1.полностью переписать ваш баш скрипт на пайтоне
2. полностью переписать ваш баш скрипт на павершеле\cmd. Аналог cut в виндовс выступает type. curl и sed есть отдельно в виде .exe под виндовс.
3 Или в павершел: powershell -Command "(new-object net.webclient).DownloadString('http://example.com')"
вместо curl http://example.com/ и get-content всесто sed.
4. запускать ваш баш скрипт через MinGW или Cygwin
5. Под Вин10 есть WSL, тот еще костыль, но позволает какбы запукать нативное линукс ПО в винде.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 7, 2021 12:01:13)

Офлайн

#3 Фев. 7, 2021 15:21:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9880
Репутация: +  853  -
Профиль   Отправить e-mail  

Как переписать скрипт для запуска его на Python 3

satfan
Есть скрипт на Python 2.7 для работы в линуксе.
Где? Ты привёл скрипт на Shell. Причём не полный скрипт, а обрезок.

satfan
Как изменить код скрипта .sh для запуска его его на Python 3 ?
Shell - это другой язык, он никакого отношения к Python не имеет вообще. Ни к Python 2, ни к Python 3.

satfan
То есть сделать скрипт для Python 3.8 32-bit) Win 7
Тебе придётся провести обратную разработку (reverse engineering - wiki) и восстановить алгоритм на псевдокоде без привязки к языку, а затем уже реализовать этот алгоритм на псевдокоде на языке Python.



Отредактировано py.user.next (Фев. 7, 2021 15:25:18)

Офлайн

#4 Фев. 7, 2021 16:18:22

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как переписать скрипт для запуска его на Python 3

Ну не все так плохо. можно же msys2 либо cygwin накатить на семерку. Чел получит unix подсистему и будет радостно пользоваться. Точнее ловить некоторые глюки от смеси вины и юникса…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version