Új hozzászólás Aktív témák
-
Hege1234
addikt
válasz
sztanozs
#3628
üzenetére
ohh oké így már világos, hogy miért nem működött
kiprintelve látom is, hogy r nélkül még egy smile-t is rakott bele

>>> import re
>>> A='Showder Klub - Showder Klub 26. évad 6. rész'
>>> k='\b(\w+)\b\s*-.*\s*(?=\1)'
>>> print(k)
(\w+\s*-.*\s*(?=☺)
>>> re.sub(k,'',A)
'Showder Klub - Showder Klub 26. évad 6. rész'
>>>
>>> r=r'\b(\w+)\b\s*-.*\s*(?=\1)'
>>> print(r)
\b(\w+)\b\s*-.*\s*(?=\1)
>>> re.sub(r,'',A)
'Showder Klub 26. évad 6. rész' -
Hege1234
addikt
sziasztok!
re.sub problémám lenne
egy címből a duplázódásokat venné kiimport re
import json
f = open('info_a.json', 'r', encoding='utf8')
title = json.load(f)
title = title['blocks'][0]['content']['items'][0]['itemContent']['title']+ ' - ' +title['blocks'][0]['content']['items'][0]['itemContent']['extraTitle']
title = re.sub("\b(\w+)\b\s*-.*\s*(?=\1)", "", title)
print('\n'+title)regex101-be eltünteti ezt a részt:
Showder Klub - Showder Klub 26. évad 6. rész
de python-ba már nem csinál vele semmit
amit beleírtam a re.sub részbe abból lehet olyan ami nem támogatott? -
Hege1234
addikt
Sziasztok!
két szöveges fájlt töltenék le, ha az id vagy az id2 -be válaszul az jön, hogy
no_right
hogyan lehet azt megcsinálni, hogy az ne legyen letöltve?vagy no_right jön vagy egy generált betű-szám kombináció
a no_right-os Title-ből tudom, hogy az kamu adatokat fog tartalmazni
ezért kerülném elimport requests
import re
resp = requests.get('link', params=params, headers=headers).text
resp2 = requests.get('link2', params=params, headers=headers).text
id = re.findall("<Title>(.*)</Title>", resp)
id = id[0].strip()
print(id)
id2 = re.findall("<Title>(.*)</Title>", resp2)
id2 = id2[0].strip()
print(id2) -
Hege1234
addikt
JoinR, sztanozs
köszi az egyszerűbb megoldásokat!
szuper, hogy ennyire össze lehe kötni a dolgokat

-
Hege1234
addikt
sztanozs:
igen, gondoltam mert amikor programkód tag-be teszed a script-et az mindig egyből működni szokott
ha már így belementünk ezt lehetne egyszerűsíteni?
from datetime import timedelta
import urllib.request
import re
link = 'https://nava.hu/wp-content/plugins/hms-nava/interface/classes/cacheManager.php?id=3964147&solrUrl=http%3A%2F%2F10.10.100.101%3A8983%2Fsolr%2Fnavapub%2Fselect&blogId=2&mode=titles&navaPointsUrl=%2F%2Fnava.hu%2Fnava-pontok%2F&searchPageUrl=%2F%2Fnava.hu%2Ftalalati-lista%2F&videoUrl=https%3A%2F%2Fnava.hu%2Fid%2F3964147%2F&embedUrl=https%3A%2F%2Fnava.hu%2Fembed%2F3964147'
resp = urllib.request.urlopen(link)
data = resp.read()
text = data.decode('utf-8')
urllib.request.urlretrieve(link, "info.html")
info = open("info.html", "r", encoding="utf-8").read()
time = re.findall("Időtartam:.<.span>(.*)..<.span>", info)
print(time, file=open("time.txt", "w"))
durat = open("time.txt").read()
duration = re.findall(".'(.*)'.", durat)[0].strip()
print(duration, file=open("duration.txt", "w"))
file = open("duration.txt")
line = file.readlines()
duration=line[0].strip()
h, m, s = duration.split(':')
delta = timedelta(hours=int(h), minutes=int(m), seconds=int(s))
rms = int(delta.total_seconds()*1000)
print(rms)(próbáltam BeautifulSoup-al is, de elég nagy katyvasz a html része szóval azt a részét inkább hagytam..)
mivel sehogy nem tudtam integer-be alakítani addig eljutottam, hogy megkaptam ebbe a formába
['00:27:07']de tovább már nem
ezért inkább re.sub-al leszedtem róla...
persze így is működik ahogy most van, de nagyon túlbonyolítottam sztem... -
Hege1234
addikt
válasz
sztanozs
#3587
üzenetére
nálam ezt hozza fel hibának:
delta = timedelta(hour=h, minute=m, second=s)
TypeError: 'hour' is an invalid keyword argument for __new__()lehet a python 3.9 miatt?
from datetime import timedelta
h, m, s = '00:10:00'.split(':')
delta = timedelta(hours=int(h), minutes=int(m), seconds=int(s))
print(delta.total_seconds*1000)TypeError: unsupported operand type(s) for *: 'builtin_function_or_method' and 'int'amit adott TypeError-t átírva, ezt írja hibának persze ez már lehet inkább amiatt mert rosszul használom..
-
Hege1234
addikt
sziasztok!
ezt a formátumot 00:01:00 hogyan lehetne milliszekundumra konvertálni? 60000
00:10:00 (600000)
00:40:00 (2400000)
01:00:00 (3600000) -
Hege1234
addikt
köszi ezek így nagyon praktikusak
és már tudtam is máshova alkalmazni
átírtam minden tanácsot
aminek a révén rájöttem, hogy rosszul vezettem lemivel loopolva van, így úgy kell az
inputot értelmezni, hogy a számokat amik be vannak írva pl az 1 3 9
azokat így kellene elvileg megkapnianums = input('\nírd ide a számokat: ').split()
#1 3 9
végigmegy a list1-esen
nums = input('\nírd ide a számokat: ').split()
#3
végigmegy a list3-ason
nums = input('\nírd ide a számokat: ').split()
#9
végigmegy a list9-esen
nums = input('\nírd ide a számokat: ').split()
#és itt már újra várja a számot/számokat -
Hege1234
addikt
így gép előtt már látom mi a probléma
mivel egy dict-ből olvastatom ki az infót a megadott számok alapján
keyerror-t ad visszaKeyError: 'list1\n3'
amikor az van beleírva, hogy 1 3p:\split>read_l.py
1 - video 1#23
2 - video 2#23
3 - video 3#23
4 - video 4#23
írd ide a számot: 1 3
1
3
Traceback (most recent call last):
File "P:\split\read_l.py", line 18, in <module>
cim = title['list'+str(nums)]['cim']
KeyError: 'list1\n3'kiszedtem egy példát amin talán jobban átláthatóbb
title = {"list1":{"cim":"video 1#23"},"list2":{"cim":"video 2#23"},"list3":{"cim":"video 3#23"},"list4":{"cim":"video 4#23"}}
index = 1
for thevalue in title.values():
print(f"{index:5}"+' - '+thevalue['cim'])
index += 1
nums = input('\nírd ide a számokat: ').split()
nums = '\n'.join(nums)
print(nums)
cim = title['list'+str(nums)]['cim']
print('\n'+cim+'\n')ez van loop-ba téve, ha be van írva egy szám kiadja a címet
és bejön újra az inputszövegszerkesztőből nem tudom miért működhet..
megjelenítettem a rejtett karaktereket akkor ezt adja ki -
Hege1234
addikt
ki van printelve, hogy mit tud csinálni a számokkal
minden egyes szám mást csinálígy tudna a user lekérni egyszerre több mindent nem csak egy számnak a tartalmát
átnézi és egy sorba beírja mi kell neki
pl ezt írja az inputba
1 3 7 15gondolom akkor ezt kellene szeparálni, hogy a számok közötti szünet kapjon egy új sort '\n' ?
-
Hege1234
addikt
köszi, kipróbálom majd
valahogy úgy tudnám leírni, hogyan használnám, hogy eddig
szövegszerkesztőből másoltam ki az egymás alatt lévő számokat
ezeket kijelöltem és beillesztettem az inputba
így automata minden új sorba került
(ahogy végzett egy számmal beadta a következőt)
szóval azt szeretném elérni, hogy ne kelljen már a szövegszerkesztőbe egymás alá tenni a számokat -
Hege1234
addikt
a split-et, hogyan lehet úgy használni, hogy az inputba lévő számok mindig egy új sorba kerüljenek?
1
4
9
..stbx = [int(x) for x in input("Enter multiple value: ").split(',')]
#1 4 9 132 322
print("Number of list is: ", x)
#1,4,9,132,322.split('\n')-el próbálkoztam, de ezt a hibát írja kiValueError: invalid literal for int() with base 10: '1 4 9 132 322'
-
Hege1234
addikt
huhh... végül csak összejött
nagyon köszi a segítséget, útbaigazítást!
#3564
fájllal nálad se akart működni?végül így tudtam csak megoldani:
import json
json_file_path = 'sample_file.json'
a_dictionary = {"list4":{"cim":"Családi videó....","Minőség":"SD","Képarány":"4:3","Időtartam":"01:26:24","Készült":"1993"}}
try:
with open(json_file_path, "r+") as j:
contents = json.loads(j.read())
contents.update(a_dictionary)
j.seek(0)
json.dump(contents, j)
except FileNotFoundError:
with open(json_file_path, "a") as j:
json.dump(a_dictionary, j)ezzel így átírva a list számot szépen hozzá is tudja adni a következőt
mivel itt a list számoltatva van és hozzá van adva +1
ezt csak úgy tudtam megoldani, hogy egy base_dictionary-t is hozzáadtam amibe csak simán van a list1 a számozott helyettlist'+str(result)try:
count = open("sample_file.json").read()
except FileNotFoundError:
print('')
try:
words = re.findall(r"list", count)
except UnboundLocalError:
print('')
try:
result = len(str(words).split())
except UnboundLocalError:
print('')
try:
result += 1
except UnboundLocalError:
print('')
base_dictionary = {"list1":{"cim":str(title), "Minőség": str(quality_m), "Képarány": str(kepar), "Időtartam": str(idot), "Készült": str(yea_r)}}
try:
a_dictionary = {'list'+str(result)+'':{"cim":str(title), "Minőség": str(quality_m), "Képarány": str(kepar), "Időtartam": str(idot), "Készült": str(yea_r)}}
except UnboundLocalError:
print('')
json_file_path = "sample_file.json"
try:
with open(json_file_path, "r+") as j:
contents = json.loads(j.read())
contents.update(a_dictionary)
j.seek(0)
json.dump(contents, j)
except FileNotFoundError:
with open(json_file_path, "w") as j:
json.dump(base_dictionary, j) -
Hege1234
addikt
köszi a segtségeket
így addig viszi el a folyamatokat, hogy
elkészül a fájl benne az a_dictionary a fájlban{"list1":{"cim":"Családi videó....","Minőség":"SD","Képarány":"4:3","Időtartam":"01:26:24","Készült":"1993"}}viszont újabbat pl. ha a list1- et átrom
list2-re akkor már nem tudja beleírni vagyis acontents.update(a_dictionary)
gondolom ilyenkor így már nem fut le -
Hege1234
addikt
import json
a_dictionary = {"list1":{"cim":"Családi videó....","Minőség":"SD","Képarány":"4:3","Időtartam":"01:26:24","Készült":"1993"}}
json_file_path = "sample_file.json"
with open(json_file_path, 'a+', encoding='utf8') as j:
contents = json.loads(j.read())
contents.update(a_dictionary)
j.seek(0)
json.dump(contents, j)ki tudnád próbálni?
nekem nem tud újat létrehozni -
Hege1234
addikt
ami van a példában list2
ezt hogyan lehet megoldani, hogy ha bekerül egy új akkor azt nekem ne kelljen átírogatni mindig?a_dictionary = {"list5":{"cim":str(title), "Minőség": str(quality_m), "Képarány": str(kepar), "Időtartam": str(idot), "Készült": str(yea_r)}}{
"list5": {
"cim": "Családi videó....",
"Minőség": "SD",
"Képarány": "4:3",
"Időtartam": "00:41:06",
"Készült": "1995"
}
}csak erre list számozásra nincs ötletem mert azt hiába index-eltem +1 értékkel
azzal úgy nem sikerült megoldani -
Hege1234
addikt
sajnos itt, nem csak ez a gond
ha nincs már egy "list" a fájlban akkor csak error-t dob
lehet az w+ vagy a+ israise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)gyanítom amiatt, hogy ez
contents.update(a_dictionary)
arra van, ha már van benne akkor azt feltölti -
Hege1234
addikt
sziasztok!
json fájl létrehozásába, hozzáadadásába akadtam el
ezzel így miért csak feltölteni tudom a már meglévő json fájlt?
import json
a_dictionary = {"list2":{"cim":"Családi videó....","Minőség":"SD","Képarány":"4:3","Időtartam":"01:26:24","Készült":"1993"}}
json_file_path = "videók.json"
with open(json_file_path, 'r+', encoding='utf8') as j:
contents = json.loads(j.read())
contents.update(a_dictionary)
j.seek(0)
json.dump(contents, j)azért list2 szerepel mert az egy már a fjlban van különben nem írja bele..

ahhoz, hogy a "list" -ben lévő szám mindig növekedjen az update során azt, hogyan lehetne megoldani?
az r+ nem azt jelentené, hogy fájlt is létre tud hozni?
vagy ez így csak a meglévő fájlba tud írni?előre is köszi!
-
Hege1234
addikt
Üdv,
Hogyan kell azt megcsinálni, hogy
2 különböző subprocess feladat különböző txt fájlokból soronként olvasson?eddig a google kereséseim a multiprocess-hez vezettek el, de az meg egyszerre
akarta a kettő folyamatot egyszerre megcsinálni
nekem fontos lenne, hogy ez a sorrend mindenképp így megmaradjon1. subprocess "rálásson" a name.txt és az mpd.txt fájl 1. sorára
amikor végzett vele.
2. subprocess "rálásson" a key.txt és az mpd.txt fájl 1. sorára
amikor végzett vele.
1. subprocess "rálásson" a name.txt és az mpd.txt fájl 2. sorára
amikor végzett vele.
2. subprocess "rálásson" a key.txt és az mpd.txt fájl 2. sorára
és így tovább... olvassa a sorokat amíg van
max 15-20 sor van egy txt fájlban, de a pontos szám az változhat
ha számít akkor semmiképp se kerül bele 30nál több sor egy fájlba
és ilyenkor minden txt fájlban ugyanannyi sor vankiegészítem egy kicsit, hogy ne forduljon elő újra, hogy kihagyok valamit mint a múltkor
1. subprocess
a name.txt -t kellene eljuttattani a végére ahol a video van
az mpd.txt -t pedig az mpd helyéresubprocess.run([yt_dl, '--no-warning', '--no-check-certificate', '--allow-u', '-f', 'bv[height<='+quality+'][vbr<30000]', '-S', '+codec:h264', '-o', video, mpd])2. subprocess
a key.txt -t kellene oda eljuttattani ahol a *keys van
a name.txt -t kellene eljuttattani a végére ahol a video vansubprocess.run([mp4decr, *keys, video, videoout])tisztában vagyok vele, hogy nagyon komplex kérdés lett
előre is köszi, akinek van valami ötlete, hogyan lehetne ezt így megvalósítani!#3510 axioma
nekem bejön, hogy ennyire részletes python-ban a hibák kiírása
nem piszkálnám meg, ha továbbfutna magától (mint batch-ban) és nem állítja meg emiatt a programot
persze okés így is, hogy én határozom meg, hogy mit írjon ki hibaként
csak én meg nem vagyok annyira pedáns, hogy részletesen ismertessem a hibát mint ahogy azt alapból kiírja és
így ami nekem egyértelmű, ha másnak feldobná azt a hibát amit én csak skiccnek odaírtam az agybajt kapna.. -
Hege1234
addikt
nem kell, hogy ki tudjanak belőle lépni
(majd max bezárják abból kevesebb a gond
)
ez így tökéletes, köszi a dict-es kiegészítést is a komplexebbekhez azt fogom használni
lehet felsorolást tenni az expect után?
except ValueError,KeyError:mert nekem erre hibát dobott
különszedve működött és az options= végén kicserélve } használvaegyébként bill figyelés is egy jó ötlet

mivel a batch fájlban a menük egérrel és bill-el is irányíthatóak
jó lenne ide python-ra is áthozni ezt a funkciót
bill kurzorokra találtam megoldást amivel lehet navigálni, de egérrel navigálást még nem
létezik erre megoldás?
mert a tkinter és hasonló társainak a konzolra nincs hatásuksh4d0w
ezt valahogy a dict-es példával és az előttivel
se tudtam működésre bírni -
Hege1234
addikt
def pick(options):
print("\nminőség kiválasztása:\n")
for idx, element in enumerate(options):
print("{} = {}".format(idx + 1, element))
while True:
try:
ans = input("\nírd ide a számot: ")
num = int(ans)
break
except ValueError:
print("ide csak számot írhatsz!")
continue
try:
if 0 < int(num) <= len(options):
return int(num) -1
except:
return None
options = ["1080", "720", "540", "480", "360"]
res = pick(options)
try:
quality = options[res]
print(quality)
except TypeError:
print("csak 1-5-ig írhatsz ide számot!")beleírtam amit tanácsoltál és kiszedtem az i-t is
már csak számokat fogad elazt pl. hogyan kell megoldani hogy ne léptessen ki, ha 0 van beleírva vagy pedig pl. 13?
semmi iskolai feladat vagy hasonló, kimondott tutorial-t sem követek
(persze, utánaolvasok a dolgoknak mit, hogyan kellene)van egy kb 2500 soros .bat fájlom amit elkezdtem átírni python-ra
kombinálva tkinter-el szóval még sokminden idegen ezen a nyelven..most csak annyi volt a célom, hogy egy beírt szám
meghatározott értékét
eljuttassam a subprocess-nek'+quality+'subprocess.run([yt_dl, '--no-warning', '--no-check-certificate', '--allow-u', '-f', 'bv[height<='+quality+']', '--fixup', 'never', '-N', '16', '-o', video, mpd]) -
Hege1234
addikt
válasz
cousin333
#3500
üzenetére
köszönöm!

háát most így elnézve, valóban vérzett

közben nekem is sikerült összehozni

def pick(options):
print("\nminőség kiválasztása:\n")
for idx, element in enumerate(options):
print("{} = {}".format(idx + 1, element))
i = input("\nírd ide a számot: ")
try:
if 0 < int(i) <= len(options):
return int(i) - 1
except:
pass
return None
options = ["1080", "720", "540", "480", "360"]
res = pick(options)
quality = options[res]
print(quality)axioma:
köszi neked is!bar szemely szerint inkabb az input-nal rogton konvertalnam
ezt kifejtenéd kicsit bővebben?
input-ot sokszor hasznánlom hátha későbbiekben hasznos lesz, ha egyből konvertálásra kerül -
Hege1234
addikt
Üdv,
ez tudom, hogy így nem lehetséges mert csak szám lehet benne,
i = [minoseg]
de nem jöttem rá a megoldásra
print('\nminőség kiválasztása: \n \n0 = 1080 \n1 = 720 \n2 = 540 \n3 = 480\n4 = 360')
my_list = [1080, 720, 540, 480, 360]
minoseg = input('\nírd ide a számot: ')
i = [minoseg]
quality = []
for index in i:
quality.append(my_list[index])
print(*quality, sep = '')ha esetleg ehhez egy totál más megoldás kellene
hogyan lehet azt megoldani, hogy ha az input részre beírom valamelyik számot
pl. 1 akkor kiadja a 720 -at?minőség kiválasztása:
0 = 1080
1 = 720
2 = 540
3 = 480
4 = 360
írd ide a számot: 1
720 -
Hege1234
addikt
ezt, hogyan lehetne megoldani, hogy
ha error van, mert nincsen találat és így a fájlt se tudta létrehozni
attól még fusson le a többi és ne akassza meg a további folyamatokat?ha minden igaz elég lenne használni hozzá a try: és az except -et de eddig még nem sikerült
rájönnöm, hogy hova és hogy hogyan
esetleg van egy "univerzális" megoldás, ha error-t ír attól még folytassa tovább
és ne akadjon el?
értem én, hogy fontos, hogy látszódjon az error, de néha annyira feleslegesnek érzem, hogy emiatt megállítsa a teljes folyamatotsubprocess.run(['python', 'srt-forced.py'])srt-forced.py tartalma:
import re
import sys
http = open("manif2.mpd").read()
link = re.findall("<BaseURL>(https:\/\/.*)</BaseURL>", http)
link = link[0].strip()
id = re.findall("<BaseURL>(videos/.*)</BaseURL>", http)
id = id[0].strip()
vtt = re.findall("[a-zA-Z]+-HU\sForced.*[^?.].*[^?.].*[^?.].*<SegmentTemplate media=.(.*vtt)", http)
vtt = vtt[0].strip()
vtt = re.sub("(.{8}).vtt", "1.vtt", vtt)
print(link+id+vtt)
print(link+id+vtt, file=open("link-hu-forced.txt", "w"))output error:
Traceback (most recent call last):
File "i:\d-python\srt-forced.py", line 13, in <module>
vtt = vtt[0].strip()
IndexError: list index out of range
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "i:\d-python\decrypt.py", line 223, in max
file = open("link-hu-forced.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'link-hu-forced.txt' -
Hege1234
addikt
válasz
cousin333
#3489
üzenetére
köszi, jónak tűnik a szöveges fájlban is, de valamiért itt is hozzáadódik az elejére és a végére a "
mp4decr = dirPath + '/programok/mp4decrypt.exe'
video = dirPath + '/Downloads/video.mp4'
audio = dirPath + '/Downloads/video.aac'
videoout = dirPath + '/Downloads/videoOUT.mp4'
audioout = dirPath + '/Downloads/audioOUT.aac'
with open("key.txt", "r") as fs:
keys = fs.readlines()
keys = keys[0].strip()
debug = subprocess.run([mp4decr, keys, video, videoout])
print(debug)
debug2 = subprocess.run([mp4decr, keys, audio, audioout])
print(debug2)
ERROR: unexpected argument (I:\d-python/Downloads/videoOUT.mp4)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', "'--key', '010023c4da1658b385f8a10dc7b17450:c4c1111bcde3c91357b50e6bb2a59ad3', '--key', '01051f72bf5ef290ccb970af41c57221:dad27bbe543d08bc0f545a355e3c4700', '--key', '010256b52c930f313823199d651d772e:b99212fc75e8e03b49bd9a0cf54190f1', '--key', '010100c9e8b349c1f159f05a9bedc74e:05326f0bdae9f59b6a24d69a59eae425'", 'I:\\d-python/Downloads/video.mp4', 'I:\\d-python/Downloads/videoOUT.mp4'], returncode=1)
ERROR: unexpected argument (I:\d-python/Downloads/audioOUT.aac)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', "'--key', '010023c4da1658b385f8a10dc7b17450:c4c1111bcde3c91357b50e6bb2a59ad3', '--key', '01051f72bf5ef290ccb970af41c57221:dad27bbe543d08bc0f545a355e3c4700', '--key', '010256b52c930f313823199d651d772e:b99212fc75e8e03b49bd9a0cf54190f1', '--key', '010100c9e8b349c1f159f05a9bedc74e:05326f0bdae9f59b6a24d69a59eae425'", 'I:\\d-python/Downloads/video.aac', 'I:\\d-python/Downloads/audioOUT.aac'], returncode=1)ilyen a formátuma amikor működik
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', '--key', '6761374a7eb04b59a595a943f4dbcdbe:ed38695f26825877db9b0335f2212bb9', 'I:\\d-python/Downloads/video.mp4', 'I:\\d-python/Downloads/videoOUT.mp4'], returncode=0)
CompletedProcess(args=['I:\\d-python/files/programok/mp4decrypt.exe', '--key', '6761374a7eb04b59a595a943f4dbcdbe:ed38695f26825877db9b0335f2212bb9', 'I:\\d-python/Downloads/video.aac', 'I:\\d-python/Downloads/audioOUT.aac'], returncode=0)szerk:
teszteltem amit itt írtál #3490
így is hozzáadódik -
Hege1234
addikt
Üdv,
ha szerepelnek ezek egy txt fájlban
--abc 025df 1234 abcdef
hogyan tudnám átalakítani hogy minden "szó" meglegyen toldva ezzel
'','--abc', '025df', '1234', 'abcdef',tesztként beleírtam egy txt fájlba kézzel és valamiért a subprocess már
hozzáadott az elejére és a végére is egy""'--abc', '025df', '1234', 'abcdef',"ez az aposztrófok miatt adódott hozzá?
hogyan lehetne elkerülni, hogy hozzáadja? -
Hege1234
addikt
válasz
Hege1234
#3459
üzenetére
köszi, így sikerült rájönnöm, hogyan hagyjam el az end-et
for key in keys:f = open("key.txt", "a+")f.write('--key '+key+' ')f.close
felmerült még egy "probléma"
szeretném ezeket a kulcsokat amik egy sorba kerültek a legvégére egy '\n' -t tenni
viszont, ha ezt most így csinálom akkor ugyan ott vagyok ahonnan indultamfor key in keys:f = open("key.txt", "a+")f.write('--key '+key+' '+'\n')f.closehogyan lehetne azt megcsinálni, hogy egy sorba teszi és a legvégén hozzáad egy új sort
hogy következő alkalomkor is az egy sorba gyűjtött kulcsok már új sorba kerüljenek? -
Hege1234
addikt
Üdv,
tud esetleg valaki egy olyan trükköt amivel lecserélhető az end=" "
print('--key '+key, file=open("key.txt", "a+"), end=" ")
csak a gond van vele... de semmi infót nem találok róla hogyan lehetne
másképp megoldani azt, hogy egymás után tegye a kiadott értéket és ne egymás alápl. end=" " nélkül így nézne ki a fájlban
--key 010084
--key 01053b(az, hogy hány darab "key" fog generálódni az random, lehet csak egy, de
lehet akár 2 vagy 5-6 is)
print-el valahogy össze lehet hozni így, hogy egymás után legyen téve?--key 010084 --key 01053b
-
Hege1234
addikt
válasz
cousin333
#3454
üzenetére
köszönöm, tökéletesen működik!

import re
import json
regex = r'S([1-9]*[0-9])\s?E([1-9]*[0-9]):?'
def replacer(x):
a, b = x.groups()
return 'S' + a.rjust(2, '0') + 'E' + b.rjust(2, '0')
f = open('info.json', 'r')
title = json.load(f)
title = title[0]['body']['metadata']['hadron-legacy-telemetry']['seriesName']+' - '+title[1]['body']['details']['title']
done = re.sub(regex, replacer, title)
print(done)Supernatural - S15E09 The Trap
-
Hege1234
addikt
Üdv,
sorozat számozását (S5 E2) szeretném átírni úgy, hogy 0-9 ig mindig tartalmazzon egy 0-át
és, hogy ne legyen köztük szünetRick and Morty - S5 E2 Mortyplicity
Rick and Morty - S05E02 Mortyplicity
ezt valahogy a kiprintelt szövegből kellene re.sub-al kivitelezni?import json
f = open('info.json', 'r')
title = json.load(f)
title = title[0]['body']['metadata']['hadron-legacy-telemetry']['seriesName']+' - '+title[1]['body']['details']['title'].replace(":", "")
print(title)ebben a részben van benne
title[1]['body']['details']['title'].replace(":", "")
a replace : azért kellett mert tettek oda egy kettőspontot is...
S5 E2: Mortyplicity
S05E02 Mortyplicityköszi, előre is!
-
Hege1234
addikt
válasz
Hege1234
#3443
üzenetére
sikerült
import re
f = open("log.txt_log").read()
link = re.findall("https?:.+\.mpd(?!\?)", f)
link = link[0].strip()
print(link)
print(link, file=open("link.txt", "w"))----------------------
ebben viszont elakadtam
link.txt-t beolvasva hogyan tudnék abból az egy sorból szövegrészeket felcserélni?
3 különböző szöveget kellene felcserélni
ezt jrepl-el csak úgy lehetett megoldani, hogy 1 szöveget kicserélt elmentette
azt a fájlt behívva kicseréli a 2. at ezt megint elmenteni
majd behívni és kicserélni a 3. at is
ezt pythonnal meg lehetne oldani egyszerre?ez nem tudom lényeges-e, de esetleg ebből átláthatóbb:
set "int=_w[0-9]+"
set "int_new=_w999999999"
call "jrepl" "!int!" "!int_new!" /m /f "link.txt" /o "result1.txt"
setlocal enabledelayedexpansion
set "int=_ps[0-9]+"
set "int_new=_ps0000100"
call "jrepl" "!int!" "!int_new!" /m /f "result1.txt" /o "final.txt"
setlocal enabledelayedexpansion
set "int=_pd[0-9]+"
set "int_new=_pd60000000"
call "jrepl" "!int!" "!int_new!" /m /f "final.txt" /o -ebből:
https://stream7.nava.hu/navahu_bdrm/_definst_/amlst:mnfa-84/manifest_w1646702604_ps3854000_pd60000_qc2Vzc2lkPSZvbXE9dHJ1ZSZucD0mbGI9WDlYaVNvY3Q4dGpaJTJCRkt5UllXbWNxS1c3cWRZcDNnYmdOTUJVaks5MTduaUN4M1k5Sm1Vc2FPV0RyblFmV2pQbWdhM0FJVXFuYkdUJTBEJTBBNDZTUGRyZTAzUSUzRCUzRCUwRCUwQQ==.mpderre:
https://stream7.nava.hu/navahu_bdrm/_definst_/amlst:mnfa-84/manifest_w999999999_ps0000100_pd60000000_qc2Vzc2lkPSZvbXE9dHJ1ZSZucD0mbGI9WDlYaVNvY3Q4dGpaJTJCRkt5UllXbWNxS1c3cWRZcDNnYmdOTUJVaks5MTduaUN4M1k5Sm1Vc2FPV0RyblFmV2pQbWdhM0FJVXFuYkdUJTBEJTBBNDZTUGRyZTAzUSUzRCUzRCUwRCUwQQ==.mpdezzel megtalálható
"_w[0-9]+_ps[0-9]+_pd[0-9]+"de, hogyan lehetne felcseréltetni a benne lévő számokat mindig ezekre?
_w999999999
_ps0000100
_pd60000000 -
Hege1234
addikt
Sziasztok!
text fájlból szeretném a fontosabb részt egy .txt fájlba kimenteni regex-el
eddig ezt a jrepl.bat-al oldottam meg de szeretném ugyanezt megoldani pythonnala logban lehet akár 17-20000 sor is (1-2 MB a fájl mérete)
amiből csak 1 sor egy részét kellene valahogy elmenteni egy külső .txt fájlbaa jrepl-t batch alól hívtam be
call "jrepl.bat" "\bhttps?:.+\.mpd(?!\?)\b" "" /MATCH /F "log.txt_log" /O "link.txt"pythonhoz ezt a regex-et, hogyan tudnám felhasználni?
\bhttps?:.+\.mpd(?!\?)\ba jrepl "javascript" alapú szóval nem vagyok teljesen biztos benne, hogy átalakítás
nélkül lehet-e használni ezt a regex-et python-hoz is
kelleni fog hozzá letölteni egy modult vagy az alap python is képes rá?
Python 3.9.0regex101 példa
köszi, előre is!
-
Hege1234
addikt
válasz
Hege1234
#3418
üzenetére
file = open("dat.txt")
lines = file.readlines()
dat = lines[0]dat.txt
i5fstZQAjiTCw6ZdzOjaSxrjwerror:
raise ValueError('Invalid header value %r' % (values[i],))
ValueError: Invalid header value b'i5fstZQAjiTCw6ZdzOjaSxrjw\naz egészbe az kavar bele, hogy ott a végén az \n vagy az, hogy nem tudom a headers-be juttattni a dat-ot?
-
Hege1234
addikt
Üdv,
egy olyan kérdésem lenne, hogy hogyan lehetne egy .txt (dat.txt, csak egy sor van benne) tartalmát a headersben lévő dat helyére "illeszteni"
headers = {
'Connection': 'keep-alive',
'sec-ch-ua': '"Chromium";v="94", " Not A;Brand";v="99", "Opera";v="80"',
'data': dat,
'sec-ch-ua-mobile': '?0',
} -
Hege1234
addikt
hogyan lehetne azt megoldani, ha egy txt-ben
több karakter van egy sorban mint 150 akkor ne foglalkozzon vele hanem adja be a következőt ami kisebb mint 150 karakter?file = open("characters.txt")
lines = file.readlines()
characters = lines[0]általában a txt fájlban a sorok így szoktak előfordulni
1.
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==
ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAc2.
AcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAC4nBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAsLCAgAAAQABALgCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA
ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAAAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADw
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==3. (ez így persze a legjobb mert itt az első sor kisebb mint 150 karater)
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQzpcr8KS/DhqNoJy5bVf/4xoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qZzVPVE01TVNKOTIHZGVmYXVsdA==
AAADSHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAygoAwAAAQABAB4DPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgA4AEMAdQBYAHoAcgArAGsARwBnADYATgBvAEoAeQA1AGIAVgBmAC8ANAB3AD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAGwAaQBjAC4AZAByAG0AdABvAGQAYQB5AC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC0AcAByAG8AeAB5AC0AaABlAGEAZABlAHIAYQB1AHQAaAAvAGQAcgBtAHQAbwBkAGEAeQAvAFIAaQBnAGgAdABzAE0AYQBuAGEAZwBlAHIALgBhAHMAbQB4ADwALwBMAEEAXwBVAFIATAA+ADwATABVAEkAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAGwAYQB5AHIAZQBhAGQAeQAtAHUAaQAuAGUAeABhAG0AcABsAGUALgBjAG8AbQA8AC8ATABVAEkAXwBVAFIATAA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AUgBCAGwAVQB6AGgAcABMAEkAdABvAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
AAAC4nBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAsLCAgAAAQABALgCPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA -
Hege1234
addikt
import requests
from bs4 import BeautifulSoup
def parse_src(text_response, src=''):
try:
soup = BeautifulSoup(text_response, 'html.parser')
for vid in soup.find_all('source'):
src = vid['src']
except:
pass
return src
def parse_text(text_response, line, src=''):
try:
return text_response.split("\n")[line]
except:
return src
def parse_xspf(src=''):
try:
soup = BeautifulSoup(html_response.text, 'html.parser')
src = soup.find('location').text
except:
pass
return src
m3_data = [
{
'name': 'Film Now',
'url': 'https://onlinestream.live/play.xspf?id=7061&ch=1&ext=.xspf',
'logo': '"https://musor.tv/images/filmnow.png"',
'channel-num': '"4"',
'group': '"Filmek"',
'parser': parse_xspf,
'parser_args': {},
},
{
'name': 'The Heartland Network',
'url': 'http://streamstat.net/videoplayer.cgi?sid=71076387&ext=.m3u8',
'logo': '"https://upload.wikimedia.org/wikipedia/en/b/ba/Heartland_TV_logo.png"',
'channel-num':'"38"',
'group':'"Angol;Zene"',
'parser': parse_src,
'parser_args': {},
},
{
'name': 'CBS Reality',
'url': 'https://raw.githubusercontent.com/Special2020/Iptv-hu.m3u/master/Uj%20T%20A.m3u',
'logo': '"https://static.wikia.nocookie.net/logopedia/images/c/ce/CBS_Reality_%28Stacked%29.svg/revision/latest/scale-to-width-down/185?cb=20191203154407"',
'channel-num': '"79"',
'group': '""',
'parser': parse_text,
'parser_args': {'line': 310},
},
]
exif_info = '#EXTM3U\n'
for channel in m3_data:
html_response = requests.get(channel['url'])
parser = channel['parser']
extra = channel['parser_args']
src = parser(html_response.text, **extra)
if src:
channel['src'] = src
exif_info += f'#EXTINF:0, tvg-chno={channel["channel-num"]}, group-title={channel["group"]}, tvg-logo={channel["logo"]}, {channel["name"]}\n{src}\n'
print(exif_info, file=open("test.m3u8", "w"))
print(exif_info)a kapott linkekből van pár elég fura link
http://193.33.39.106:8790/ (Film Now) nem működik VLC alól
de nem errort dob hanem csak próbálná elindítani a végtelenségig
Kodi meg kb lefagy tőle..valamelyik link addig printelne amíg nincs leállítva ezért tettem be egy exit() -et
pl. az ilyen linkek miatt
http://193.33.39.108:7000/play/a006urllib3.disable_warnings()ez pedig a https linkek miatt kellettimport requests
import urllib3
urllib3.disable_warnings()
def check_stream_link(url):
try:
s = requests.Session()
with s.get(url, stream=True, verify=False, timeout=1) as resp:
for line in resp.iter_lines():
if line:
print(line)
exit()
except:
pass
url = 'http://193.33.39.106:8790/'
check_stream_link(url)teszteltem mind a 82 linket csak akkor printelt üresen, ha ez a végtelen próbálkozás történik (kb 4 ilyen link volt)
hozzá lehetne esetleg valahogy tenni ezt úgy, hogy csak azokat adja hozzá az exif_info-hoz ha a print nem üres? -
Hege1234
addikt
válasz
sztanozs
#3158
üzenetére
köszi, addig mindent szépen szűr amíg a FIXTV nincs hozzáadva
ha azt is hozzáírom akkor már elhasalimport requests
from bs4 import BeautifulSoup
html_url22 = "http://streamstat.net/videoplayer.cgi?sid=14358315&ext=.m3u8"
html_response = requests.get(html_url22)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
CINELIFEHD = vid['src']
html_url23 = "http://streamstat.net/videoplayer.cgi?sid=148177550&ext=.m3u8"
html_response = requests.get(html_url23)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
FIXTV = vid['src']
html_url40 = "https://raw.githubusercontent.com/Special2020/Iptv-hu.m3u/master/Uj%20T%20A.m3u"
ExtremeSportsChannel = requests.get(html_url40)
html_url14 = "https://onlinestream.live/fem3/videoplayer/6455-1"
html_response = requests.get(html_url14)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
fem3 = vid['src']
if 'http' in vid['src']:
print(
"#EXTM3U"
+ '\n' +
"#EXTINF:0,tvg-logo=https://cinelife.com/wp-content/uploads/2020/04/cinelife_logo.png, CINE LIFE HD" + '\n' +
CINELIFEHD + '\n' +
"#EXTINF:0,tvg-logo=http://1241.hu/userfiles/image/tvcsatornak/fem3.jpg, FEM3" + '\n' +
fem3 + '\n'
"#EXTINF:0,tvg-logo=https://cdn.pngsumo.com/tv-guide-extreme-sports-channel-the-home-of-action-sports-action-sports-png-320_240.png, Extreme Sports Channel" + '\n' +
ExtremeSportsChannel.text.split("\n")[308]
+ '\n' + "#EXTINF:0,tvg-logo=http://1241.hu/userfiles/image/tvcsatornak/pic_atkoto_55_fix_tv.png, Fix" + '\n' +
FIXTV
,file=open("test.m3u8", "w"))Traceback (most recent call last):
File "C:\scrape\test.py", line 37, in <module>
FIXTV
NameError: name 'FIXTV' is not definedha csak az egyszerűbb verziót printelem ki akkor is ezt írja
if 'http' in vid['src']:
print(CINELIFEHD+FIXTV)NameError: name 'FIXTV' is not defined -
Hege1234
addikt
Üdv!
az egyik oldalon
tegnap óta csak egy text jelenik meg
(No listen URL! SID not found!)
mivel hiába keres, így a print hibára fut
megoldható lenne valahogy, hogy csak akkor printelje ki ha pl tartalmazza a http szót?
ha nincs akkor csak egy új sort írjon hozzá '\n' ?csak simán a
print(CINELIFEHD)
kiadja az url-t ezért persze csak gondolom, hogy elég lenne a http-re szűrni
https://magselect-stirr.amagi.tv/playlist1080p.m3u8import requests
from bs4 import BeautifulSoup
html_url22 = "http://streamstat.net/videoplayer.cgi?sid=14358315&ext=.m3u8"
html_response = requests.get(html_url22)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
CINELIFEHD = vid['src']
html_url23 = "http://streamstat.net/videoplayer.cgi?sid=148177550&ext=.m3u8"
html_response = requests.get(html_url23)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
FIXTV = vid['src']
print(CINELIFEHD+FIXTV) -
Hege1234
addikt
válasz
sztanozs
#3145
üzenetére
#3145 sztanozs:
köszönöm ami a linkben van az úgy tökéletes és a kodi se találta hibásnak!
import json
import base64
import requests
import xbmc
credentials = b'kodi:kodi'
encoded_credentials = base64.b64encode(credentials)
authorization = b'Basic ' + encoded_credentials
headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
url = 'http://192.168.1.10:8080/jsonrpc?Base'
data = [
{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
h,m,s = map(int, [result[0]['result']['time'][val] for val in ['hours','minutes','seconds']])
time = f'{h:02}{m:02}{s:02}'
with open('c:\\kodi\\save.txt', 'r') as original: data = original.read()
with open('c:\\kodi\\save.txt', 'w') as modified: modified.write(result[1]['result']['item']['file']+'\n'+time+'\n'+result[1]['result']['item']['label']+'\n'+'----------'+'\n' + data)
xbmc.executebuiltin('Action(CreateBookmark)')megfogadom a tanácsod még magyarul is találtam oktatóanyagokat
#3148 v.hulladék
egyébként miért ördögtől való az, hogy a fájl elejére szeretnék írni? -
Hege1234
addikt
outfile.seek(-1) kipróbálom majd köszi
nem csak pár sort kellett volna beszúrnom ez igaz
délután leírok mindent azt is ami "értelmezi" a txt fájlt -
Hege1234
addikt
köszönöm a tanácsokat délután lesz vele időm foglalkozni
amiket írtatok ezek szerint jobban át kell gondolnom hogyan is kellene megoldaniha egy példával kellene akkor talán úgy nézne ki mint egy todo list
csak itt az átlag 1 soros todo list helyett 4 sort írna egyszerre mindiga fájl minden sorát megtartva csak az elejére mindig 4 sor kerülne
az "r+" azért nem jó mivel azzal a már meglévő sorokhoz nem ír pluszban hozzá
hanem csak mindig az elejére írja -
Hege1234
addikt
válasz
Hege1234
#3137
üzenetére
with open('c:\\kodi\\save.txt', 'a+') as outfile:
outfile.write(result[1]['result']['item']['file']+'\n'+time+'\n'+result[1]['result']['item']['label']+'\n'+'----------'+'\n')
outfile.seek(0)futtatás után a seek(0) miatt nem úgy kellene működnie, hogy az új 4 sor a fájl elejére kerüljön és ne végére?
-
Hege1234
addikt
print(result[1]['result']['item']['file'],time,result[1]['result']['item']['label'], '------------', sep='\n', file=open("c:\\kodi\\save.txt", "a+"))smb://192.168.1.10/@.mkv
004741
The Mitchells vs. The Machines
------------
smb://192.168.1.10/@.mkv
000541
Childrick of Mort
------------az "a+" -helyett melyik az ami nem a végére ír hanem az elejére?
a "w+" hasznos lenne csak az felül is írja az egész fájlt
a seek(0) -t lehet valahogy használni a print részbe?sztanozs: igen, az tényleg jó lenne ha lenne olyan amiben egy témában benne van minden részlet de általában a videó végére az szokott lenni, hogy mindenről volt szó csak arról nem amihez nekem kellet volna.
-
Hege1234
addikt
válasz
sztanozs
#3131
üzenetére
amit kapok terminálba az úgy tökéletes!
amikor txt-be menteném ott már csak a szám szerepel és a link nemimport json
import base64
import requests
credentials = b'kodi:kodi'
encoded_credentials = base64.b64encode(credentials)
authorization = b'Basic ' + encoded_credentials
headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
url = 'http://192.168.1.10:8080/jsonrpc?Base'
data = [
{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
h,m,s = map(int, [result[0]['result']['time'][val] for val in ['hours','minutes','seconds']])
time = f'{h:02}{m:02}{s:02}'
print(result[1]['result']['item']['file'],time, sep='\n')
smb://192.168.1.10/n filmek 720p/@.mkv
012456with open('c:\\kodi\\info.txt', 'w') as outfile:
outfile.write(time)itt próbáltam a time-hoz még hozzáírni a "file"-t
így de az úgy nem működikwith open('c:\\kodi\\info.txt', 'w') as outfile:
outfile.write(result[1]['result']['item']['file'],time)) -
Hege1234
addikt
köszi ezzel ismét közelebb kerültem a célhoz
print(result[1]['result']['item']['file']+'\n',result[0]['result']['time']['hours'],result[0]['result']['time']['minutes'],result[0]['result']['time']['seconds'])sikerült új sorba tenni de belekerül egy space is az elejére amivel lehet lesz baj a későbbiekben
most már csak azt kellene elérni hogy a 2. sorba került
számok ha a szám 0-9 akkor mindig kerüljön elé egy 0 és össze legyenek húzva
majd ezt elmenteni egy txt fájlba0 52 49
00524902 09 11
02091101 25 07
012507 -
Hege1234
addikt
válasz
sztanozs
#3122
üzenetére
áhhháá
kösziegybe tettem az egészet ami kell
print(result[1]['result']['item']['file'],result[0]['result']['time']['hours'],result[0]['result']['time']['minutes'],result[0]['result']['time']['seconds'])ezzel most így néz ki
smb://192.168.1.10/n filmek 720p/@.mkv 0 52 49print részbe a file után lehet esetleg szúrni valahogy egy új sort?
ezzel próbálkoztam de nem sikerült '\n' -
Hege1234
addikt
azt egyébként még mindig nem értem, ha a result csak [0] és [1] -et fogad és mást nem írhatok bele
pl : print(result[0])
ezzel sehogy nem fogom a "minutes" értékét (52) megkapni
mit kellene helyette használnom?sztanozs: notepad++ ból szoktam a terminálba behúzni az egész scriptet
annyira nem gáz, a pycharm amúgy teccik azt lehet majd felrakom -
Hege1234
addikt
köszi pár órával ezelőtt kezdtem bele hogyan is lehetne megoldani még keverem minek mi a pontos neve és jelentősége
>>> import json
>>> import base64
>>> import requests
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [
... {"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
... {"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>> response = requests.post(url, headers=headers, data=json.dumps(data))
>>> result = response.json()
>>>
>>>
>>>
>>> print(result[0])
{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}
>>>
>>>
>>>
>>> print(result[1])
{'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}
>>>
>>>ez alapján akkor kiderült, hogy a [0]-ban van a time és [1]-esben pedig az item
amit példának írtál szerintem azt valahogy rosszul használom
>>> import json
>>> import base64
>>> import requests
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [
... {"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
... {"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>> response = requests.post(url, headers=headers, data=json.dumps(data))
>>> result = response.json()
>>> print(result)
[{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}, {'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}]
>>> for i in result:
... if i['result'].get('time'):
... mytime = i['result']['time']
... if i['result'].get('item'):
... myfile = i['result']['item']['file']
... print(mytime)
File "<stdin>", line 6
print(mytime)
^
SyntaxError: invalid syntax
>>> print(myfile)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'myfile' is not defined -
Hege1234
addikt
válasz
sztanozs
#3115
üzenetére
köszi, a requests modullal is megkapom a választ!
Hogyan került bele a resp-be a result? az nem látszik a kódból...
ha jól értem a kérdést akkor azt a szervertől kapom vissza?hogyan lehetne ezt még tovább szűrni?
a print(result) ezt adja vissza:
[{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}, {'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}]az átláthatóság kedvéért megformáztam kézzel
[
{
"id": 17,
"jsonrpc": "2.0",
"result": {
"time": {
"hours": 0,
"milliseconds": 416,
"minutes": 52,
"seconds": 59
}
}
},
{
"id": 18,
"jsonrpc": "2.0",
"result": {
"item": {
"file": "smb://192.168.1.10/n filmek 720p/@.mkv",
"id": 340,
"label": "The Expendables 3",
"type": "movie"
}
}
}
]print (resp['result']['item']['file'])
smb://192.168.1.10/n filmek 720p/@.mkvde ha pl a "hours" -t szeretném akkor már ezt kapom vissza:
print (resp['result']['time']['hours'])Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'time'egyébként a célom az lenne hogy így szerepeljenek egy .txt fájlban
smb://192.168.1.10/n filmek 720p/@.mkv
0
52
59ahogy kigondoltam ez valahogy így nézne ki
print (resp['result']['item']['file'])
print (resp['result']['time']['hours'])
print (resp['result']['time']['minutes'])
print (resp['result']['time']['seconds'])majd a számokat a 2. sorba egybefűzni és ha valamelyik értéknél csak egy szám van mindig kerüljön elé egy 0
smb://192.168.1.10/n filmek 720p/@.mkv
005259ilyen lehetséges python-ban?
-
Hege1234
addikt
Hali
mi okozhatja azt, hogy a result-al nem látom a data első részét? (time)
ezzel szűrveprint (resp['result']['item']['file'])
szépen megkapom az elérési utat de a "time" részt nem tudom elérniprint (resp['result']['time']['hours'])
print (resp['result']['time']['minutes'])
print (resp['result']['time']['seconds'])>>> import json
>>> import base64
>>> from urllib.request import Request, urlopen
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>>
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>>
>>> json_data = json.dumps(data)
>>> post_data = json_data.encode('utf-8')
>>> request = Request(url, post_data, headers)
>>> result = urlopen(request)
>>> print(result.read())
b'[{"id":17,"jsonrpc":"2.0","result":{"time":{"hours":0,"milliseconds":416,"minutes":52,"seconds":59}}},{"id":18,"jsonrpc":"2.0","result":{"item":{"file":"smb://192.168.1.10/n filmek 720p/@.mkv","id":340,"label":"The Expendables 3","type":"movie"}}}]'
>>>
>>> print (resp['result'])
{'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}} -
Hege1234
addikt
ez így tökéletes

\n ez tett be mindennek...sokat tanultam ma, köszönöm szépen a kitartást és segítséget!
JoinR, sztanozs
-
Hege1234
addikt
ohh most értettem meg amit kérdeztél
ezt a kodi kezeli azért kellett a pynput-ot is beleraknom a mappábaRunScript("c:\kodi\load-pos.py")
ha csak a gépről futtatnám akkor + ablakok is megjelennek ilyen volt az első változatban
ezért tértem át pythonra mivel a kodiban fut le így nincsen felugró ablak -
Hege1234
addikt
válasz
sztanozs
#3108
üzenetére
ez mind engedélyezve is van, ha beleírom ezt így működik
{"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file":"smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv"}}}
odaugrik a 00:36:56 hoz és nyom egy entert hogy valóban oda is ugorjon, ha nincs enter akkor csak eltűnik ami be lett pötyögve
ez nem az új sort jelenti? \n
-
Hege1234
addikt
van egy save verzió is amivel mentem, hogy hol tart a film
ezzel amit bemásoltam pedig vissza tudom állítani a poziciót, hogy hol tartott a film
mert ha végigmegy és leáll akkor már látottként jelöli meg (ez akkor jó ha bealudnék egy filmen vagy több órás vod nézésénél csak rányomok a távirányítón arra a gombra ami lementi a poziciót, menüböl meg elérem azt amit bemásoltam + ezt is hozzáadtam egy gombhoz)azt hiszem ez belőle a lényeg
>>> print(url)
smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv
>>> print(data)
{'jsonrpc': '2.0', 'method': 'Player.Open', 'params': {'item': {'file': 'smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv\n'}}} -
Hege1234
addikt
válasz
Hege1234
#3102
üzenetére
upsz elfelejtettem entert nyomni

amit bemásoltam python-ba ez a folytatása
a kodi-ban nincs pynput ezért azt bemásoltam mappástól úgy már felismerte
ugyan ezt próbáltam a requests-el is ez lehet nem volt jó ötlet..
addig minden jól működik amíg az url string helyett elérési utat adok megTraceback (most recent call last):
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 597, in urlopen
httplib_response = self._make_request(conn, method, url,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1345, in getresponse
response.begin()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 307, in begin
version, status, reason = self._read_status()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\kodi\requests\adapters.py", line 439, in send
resp = conn.urlopen(
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 637, in urlopen
retries = retries.increment(method, url, error=e, _pool=self,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 368, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\packages\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 597, in urlopen
httplib_response = self._make_request(conn, method, url,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1345, in getresponse
response.begin()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 307, in begin
version, status, reason = self._read_status()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\kodi\requests\api.py", line 119, in post
return request('post', url, data=data, json=json, **kwargs)
File "c:\kodi\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "c:\kodi\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "c:\kodi\requests\sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "c:\kodi\requests\adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) -
Hege1234
addikt
programozás topikból folytatás
röviden .txt fájlból elérési utat a data rész-be illeszteniimport requests
import time
import os
import webbrowser
file = open("c:\kodi\save.txt")
lines = file.readlines()
line = lines[1]
os.startfile("c:\Program Files\Kodi2\kodi.exe")
from pynput.keyboard import Key, Controller as K
time.sleep(2)
K().type(line+' ')
file = open("c:\kodi\save.txt")
lines2 = file.readlines()
url = lines2[0]
headers = {
'Content-Type': 'application/json',
}
data = data = {"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file": url}}}
requests.post('http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base', headers = headers, json = data).txt
smb://192.168.1.10/e filmek/---==Szinkronos==---/@.mkvnem tudom, hogyan kell kiprintelni a hibákat így most csak simán beillesztettem ami a .py fájlban van
>>> import requests
>>> import time
>>> import os
>>> import webbrowser
>>>
>>> file = open("c:\kodi\save.txt")
>>> lines = file.readlines()
>>> line = lines[1]
>>>
>>> os.startfile("c:\Program Files\Kodi2\kodi.exe")
>>> from pynput.keyboard import Key, Controller as K
>>> time.sleep(2)
>>> K().type(line+' ')
>>>
>>> file = open("c:\kodi\save.txt")
>>> lines2 = file.readlines()
>>> url = lines2[0]
>>>
>>> headers = {
... 'Content-Type': 'application/json',
... }
>>>
>>> data = data = {"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file": url}}}
>>> requests.post('http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base', headers = headers, json = data)kodi log
kodi áttért a python3-ra a fenti kód mennyire lehet kompatibilis vele?
Új hozzászólás Aktív témák
- HiFi műszaki szemmel - sztereó hangrendszerek
- Fejhallgató erősítő és DAC topik
- Elektromos rásegítésű kerékpárok
- Racoon City árnyékában: Teszteltük a Resident Evil Requiemet
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- Cyberpunk 2077
- Gumi és felni topik
- Peugeot, Citroën topik
- Viccrovat
- Melyik tápegységet vegyem?
- További aktív témák...
- Legjobb kijelzős!!! HP ZBook Power 15 G8 i7-11850H 32GB 512GB Nvidia RTX A2000 1 év garancia
- HP Thunderbolt 4 kábel
- BESZÁMÍTÁS! Apple Macbook Air 15 M4 16GB RAM 512GB SSD notebook garanciával hibátlan működéssel
- Fém, összecsukható és kihúzható fotó állvány eladó
- 195 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest








