Найти - Пользователи
Полная версия: Как переписать скрипт для запуска его на Python 3
Начало » Python для новичков » Как переписать скрипт для запуска его на Python 3
1
satfan
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;
PEHDOM
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, тот еще костыль, но позволает какбы запукать нативное линукс ПО в винде.
py.user.next
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.
doza_and
Ну не все так плохо. можно же msys2 либо cygwin накатить на семерку. Чел получит unix подсистему и будет радостно пользоваться. Точнее ловить некоторые глюки от смеси вины и юникса…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB