Új hozzászólás Aktív témák
-
JoinR
senior tag
válasz arcoskönyv #3951 üzenetére
Talán ez segít, de lehet, hogy irreleváns, mert van konkrét leírás erre a hibára.
Persze nem ismerem a hátteret, de lehet azt is megvizsgálnám, van-e szükség venvre a konténeren belül.[ Szerkesztve ]
-
tvamos
nagyúr
Sziasztok!
Van itt egy regi progi, ami Python 2.7 alatt keletkezett, de Python 3 alatt rosszul mukodik. (Soros porton kuld sztringet.) Kollegam szerint az a gond, hogy nem latin kodolassal tarolja a sztringet a 3. Azt mondja, hogy mindenhol, ahol kuldom a cmd nevu sztringet, konvertalni kell: cmd = cmd.encode("latin"). Nomost en ezt nem irnam be 200-szor, ha lehet. Van erre valami megoldas, hogy ez magatol latin legyen?"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
sztanozs
veterán
marmint soros porton kuld byte-okat.
a problemad az, hogy a python3 alapbol unicode stringekkel dolgozik, mig a 2.x alapbol byte strngekkel (enkodolassal).
Ha nem akarod 200 helyre beirni, akkor csinalj egy serial_send fuggvenyt (vagy egy osztalyt ahol az egeszet inicializalni is tudod) ami string-et var, latin kodolasu byte array-a valtoztatja es alkuldi a beallitott soros porton.
a masik megoldas (ha csak parancsok vannak es nem kell semmi bevitelt kezelni), hogy az osszes stringedet byte arraynak definialod:cmd = b'ez egy byte-string'
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
pyscript-et próbálgatta már valaki?
dátum konvertálás meg egyéb alap python scriptekkel el lehet vele szórakozni,
hogy fut a python a böngészőben(lokálisan használom a pyscript.css és pyscript.js is a gépen van..)
web scrape-re használnám, de se a requests se az urllib3
nem használható vele?
mit tudnék helyettük használni hozzá?a fetch-et emlegetik, de akkor meg megint ott vagyok mint javascript-nél, hogy
az állandó cors hiba szivat meg... -
tvamos
nagyúr
válasz sztanozs #3955 üzenetére
Franko, jo is lett, csak 1 helyre kellett vegul beirni. A szivas a printekkel volt vegul, mert a mert a 2.7-ben nem kellett zarojelezni ami mogotte van. De azon is sikerult tullendulni.
Kosz a segitseget!
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
tvamos
nagyúr
válasz arcoskönyv #3962 üzenetére
Hallottam mar rola, de nem probaltam.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Hege1234
addikt
válasz arcoskönyv #3960 üzenetére
az úgy egy jóval macerásabb művelet lenne...
eddig a herokuapp féle cors-os megoldással jutottam a legtovább
[kép]szépen betöltötte, de ezt is csak akkor, ha a gépemen van a pyscript.js és a pyscript.css
ha a linkről tölti be a python-t akkor az xml-t megpróbálja szerkeszteni és az úgy elég katasztrófa lesz..egy jó kis xmltodict, json modul, ha még elérhető lenne hozzá akkor
szépen lehetne formázgatni is egyből az xml-t<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="pyscript.css" />
<script defer src="pyscript.js"></script>
<style>
h1 {
font-size: 20px;
color: green;
text-transform: uppercase;
text-align: center;
margin: 0 0 35px 0;
text-shadow: 0px 1px 0px #f2f2f2;
}
</style>
</head>
<body style='font-size: 20px;'>
<h1>PyScript - teszt XMLHttpRequest</h1>
<label for="edited_string_date">from zulu date:</label>
<div id="edited_string_date"></div><br />
<div id="request_output"></div>
<py-script>
from datetime import datetime, timedelta
string_date = "2023-02-24T19:34:57Z"
date_obj = datetime.strptime(string_date, "%Y-%m-%dT%H:%M:%SZ")
new_date_obj = date_obj + timedelta(hours=1)
new_string_date = new_date_obj.strftime("%Y-%m-%d %H:%M")
pyscript.write('edited_string_date', new_string_date)
from js import XMLHttpRequest
req = XMLHttpRequest.new()
req.open("GET", "https://cors-anywhere.herokuapp.com/https://www.youtube.com/feeds/videos.xml?channel_id=UC2Th9fjegtGqBQ7UMXTDWuQ", False)
req.send()
output = str(req.response)
pyscript.write('request_output', output)
</py-script>
</body>
</html>youtube-os oldalhoz pont nem kell a headers meg hasonló, de pl. ha egy másik oldallal próbálkozom ahol kell a headers, cookies, params vagy a POST-hoz a data
azokat hova írom bele?ez elé
req = XMLHttpRequest.new()
mehet pl aheaders = {
'accept': 'application/json, text/javascript, */*; q=0.01',
'accept-language': 'hu,en;q=0.9',
'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="102"',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
}a False elé pedig mehet, hogy headers=headers,?
-
Kérnék egy kis segítséget. Próbálom megoldani a 2016_2017 Nemes prog. versenyből a bolygós feladatot. mester.inf.elte.hu...
Hogy lehet kideríteni, mire nem ad pontot a 'bíró'? 15/33 pontot kapok, az első 6 teszt hibátlan, a többi meg Futási hiba, kilépési kód 1 hibát dob.
A 2db mellékelt bemenettel a várt kimenetet adja a programom.
Úgy próbálom megoldani, hogy beolvasom az elemszámokat, létrehozok 2 listát az elemeknek, majd megnézem melyiknek nagyobb az utolsó eleme. Ezután még csinálok 2 db utolsó elem számú listát, feltöltöm 0-val, majd az eredeti listákból kiszedem az intervallumokat, és átírom a megfelelő helyen 1-re a nullákat. Innen meg már csak meg kell nézni hol különbözik ugyanazon a pozíción az érték a két listában, azok lesznek a megoldások.
Biztos van egyszerűbb megoldása is, de per pillanat nem jut jobb az eszembe.
Futási időbe beleférek, szerintem a memória litmit lehet a gond. Milliárdos elemszámot említ a feladat.
Egyébként mi lenne ennek az optimális megoldása?Eladó Lego: 42139 All terrain vehicle
-
-
axioma
veterán
válasz Victoryus #3970 üzenetére
Hat igen, ehhez elobb a ceruza-papir kell. A milliardos elemszam pont azert van, hogy az a brute force ne menjen, amit te csinaltal.
Nem feltetlen kell ettol az elvtol messze menni, de az "erdektelen" eveket valahogy ossze kene tomoritened az abrazolasban... vagy masik oldalrol fogod meg, es kihasznalod, hogy novekvo sorrendben vannak lerakva az inputban is az adatok. -
tvamos
nagyúr
Koszonom! Jol jott, hogy szoltal, mar csak azert is, mert volt is benne ilyen, meg ugralok python, es c (arduino) kozott, es neha belezavarodom. Nem vagyok programozo sem... csak ez most ram szakadt. (Nem akarom mar kockas fuzetbe irogatni a meresi eredmenyeket... )
(#3967) sztanozs
Koszonom![ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
MODERÁTOR
válasz arcoskönyv #3974 üzenetére
Érdemes csak stackoverflown. A python topik nem azt jelenti, hogy itt mindenki mindent is tud.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
hungromit
csendes tag
Sziasztok, Wordpressben probálnék TablePress pluginba táblázatot felölteni Python webdriverrel, de a legördülő listából nem tudom kiválasztani sehogy sem azt a táblázatot, amit frissíteni szeretnék. Ez az oldal kódja:
<td class="column-2">
<div class="jdropdown jdropdown-default">
<div class="jdropdown-container-header">
<input class="jdropdown-header jss_object" type="text" autocomplete="off" placeholder="— Select or type —"></div>
<div class="jdropdown-container" style="min-width: 744.031px;"><div class="jdropdown-close">Done</div>
<div class="jdropdown-content">
<div class="jdropdown-item">
<div class="jdropdown-description">— Select or type —</div></div>
<div class="jdropdown-item">
<div class="jdropdown-description">ID bcwd_current_stock: (no name)</div>
</div>
<div class="jdropdown-item">
<div class="jdropdown-description">ID bcwd_stock_auto: (no name)</div>
</div>
</div>
</div>
<div class="jdropdown-backdrop"></div>
</div>
<select id="tables-import-existing-table" name="import[existing_table]" style="display: none;">
<option value="">— Select or type —</option>
<option value="bcwd_current_stock">ID bcwd_current_stock: (no name)</option>
<option value="bcwd_stock_auto">ID bcwd_stock_auto: (no name)</option>
</select>
</td>Ezzel próbálkoztam:
select = Select(driver.find_element_by_name('import[existing_table]'))
select.select_by_visible_text('ID bcwd_stock_auto: (no name)')Ez lenne amúgy a legördülő lista:
Valakinek van valami ötlet hogyan lehetne kiválasztani az "ID bcwd_stock_auto: (no name)" opciót?
-
válasz arcoskönyv #3978 üzenetére
open with
-tel nyisd meg, akkor a carbage collector is bezarja, ha crashel a program.https://www.coreinfinity.tech
-
válasz arcoskönyv #3980 üzenetére
A nyitva marado file volt a felvetes, tehat arra reagaltam . Nem jo omen, ha nem zarod be es esetleg crash eseten nyitva marad - bar gondolom ez nem nagy ujdonsag.
https://www.coreinfinity.tech
-
válasz arcoskönyv #3982 üzenetére
Az exception is crash de ha sima open-nel nyitsz file-t, nyitva marad. Anno meg Turbo Pascal alatt szoptam ezzel: vmi nyilvantarto program volt, a teszteles soran megnyitottam a file-t irasra es utana nem ertettem, miert nem erem el... aztan rajottem, hogy mivel a letrehozas utan nyomtam control-c-t, a file nyitva maradt 0 byte hosszusaggal. Jo lecke volt, azota nem hagyok nyitva file-t
https://www.coreinfinity.tech
-
kovisoft
őstag
válasz arcoskönyv #3982 üzenetére
A garbage collector nem fogja automatikusan bezárni a file-t, ha megszűnik a hivatkozás a file objektumra. Explicit le kell zárnod a file-t, ha már nem használod. Az itt említett with open a te esetetben nem járható, hiszen a függvényed visszatér és vissza kellene adnia a file objektumot, viszont a with open blokkból kilépve automatikusan záródik a file.
A programból véglegesen kilépve az oprendszer felszabadítja a lefoglalt erőforrásokat, de erre nem lenne szabad hagyatkozni.
Nagyobb gond lehet file-ba írásnál, ha kimarad a close, mert az írás bufferelve történik, és egyáltalán nem biztos, hogy amikor egy write-ot kiadtál, akkor ténylegesen ki is íródott az adat a file-ba, mert lehet, hogy csak a következő flush-nál vagy a close-nál fog kiíródni, és ez kimaradhat, ha nincs close és aztán mondjuk elhasal a program.
-
kovisoft
őstag
válasz arcoskönyv #3985 üzenetére
Jogos, benéztem, valóban nem a file-t, hanem a readlines() eredményét adja vissza. Akkor én is a with open konstrukciót javaslom.
-
válasz kovisoft #3971 üzenetére
Kicsit konkrétabb algoritmust kérhetek? Hogy lehet röptében összehasonlítani az intervallumokat?
A 2 lista nem feltétlenül egyforma elemszámú.
Kell nekem egyáltalán két lista az intervalumokkal? Eleve 1 lista 1 milliárd elemmel is nagyon sok helyet foglal, nemhogy kettő.Eladó Lego: 42139 All terrain vehicle
-
axioma
veterán
válasz Victoryus #3988 üzenetére
Biztos nem akarsz rajta gondolkodni? Az jobban esik mikor ugy oldod meg...
Egy draft tolem:
a
-tolb
-ig vannak az intervallumok de en me'g beolvasasnal korrigalnama, b+1
-re, azok a 'valtopontok' [a
-tol bekapcs,b+1
-tol kikapcs]. Az intervallum-listakat beraknam igy egy-egy tombbe[a,b+1,a2,b2+1, ...]
, es onnantol egy kicsi osszefesulos rendezes: ha a ket virtualisan elso elem megegyezik, akkor mindketto atvalt, tehat a xor az nem valtozik; minden mas esetben a kisebbik [legyenmn
] atvalt: ha epp [allapotot orzod] nem volt 'pontosan 1', akkor atallitod arra hogy most van, outputra azmn
[intervallum kezdete]; ha meg mar 'pontosan 1' allapotban voltunk akkor most kikapcsoljuk, az abrazolas miatt megy azmn-1
az outputra, mint a megkezdett intervallum vege. tombok vegere vagy figyelsz, vagy a milliard+1-et odateszed mindketto vegere guard-nak.[ Szerkesztve ]
-
Köszönöm, átgondolom. Egyébként gondolkoztam.
Az egyik ötlet az volt, hogy eleve set-be kéne kibontani az intervallumokat, és az kiszűri az ismétlődő elemeket.
De akkor is kifutna a 32MB-ból szerintem.A másik, hogy röptében - tehát olvasom a txt-ből bolygó1 első intervallumot, kibontom, olvasom a bolygó2 első intervallumát a txt bolygó1 hossz+1. sorából és a kettő intervallumból kiszedem ami nem közös, és így tovább. Ha meg nem egyenlő hosszú a két bolygó listája, akkor kitöltöm 0-val a rövidebbet. Nem írtam meg, kérdés mennyi idő mindig ugrálni a txt-ben, az is jelentős.
[ Szerkesztve ]
Eladó Lego: 42139 All terrain vehicle
-
kovisoft
őstag
válasz Victoryus #3990 üzenetére
Évszámból lehet 1 milliárd, intervallumból max 2*100 ezer van a feladat szerint. Az befér a memóriába. A set nem jó, mert nem elég az intervallumok végeiben az ismétlődéseket kiiktatni, hanem kompletten ki kell hagyni az átfedő tartományokat. Valami összefésüléses logikát kellene követned, mint amit axioma is javasolt. Mindig attól függ, hogy éppen melyik intervallum listán lépsz előre, hogy éppen melyikben kisebb a következő elem. Ha jól értem a feladatot, akkor feltehetjük, hogy mindkét intervallum lista rendezett.
[ Szerkesztve ]
-
repvez
addikt
mi lehet a probléma ha egy excel filebol amiben az A,B,és C oszlopában koordináta pontok vannak azokat akarom dxf formátumba átkonvertálni, de valamiért nem sikerül vagy ha igen akkor csak az elso ures celláig. a különbözö alakzatok között egy ures cella van hgagyva igy csak az elso alakzat pontjai mennek át ha egyáltalán átmegy.
a dxf file mentésre kerül,de nem látni benne pontokat.
a hiba kod csak ennyi ?
IndentationError: unexpected indentaddig mukodott amig a C oszlopba nem került bele adat és nem volt egy cella üresen hagyva.
import ezdxf
from openpyxl import load_workbook
# Load the Excel file
workbook = load_workbook(filename='G:\g_ref\cross\intersection_points.xlsx')
worksheet = workbook.active
# Create a new DXF file
doc = ezdxf.new(dxfversion='R2010')
msp = doc.modelspace()
# Read the coordinates from the Excel file
max_row = worksheet.max_row
for i in range(2, max_row+1):
x = worksheet.cell(row=i, column=1).value
y = worksheet.cell(row=i, column=2).value
z = worksheet.cell(row=i, column=3).value
# Check if any of the cells are empty
if x is not None and y is not None and z is not None:
msp.add_point((x, y, z))
# Save the DXF file
doc.saveas('G:\g_ref\cross\coordinates.dxf') -
repvez
addikt
válasz kovisoft #3994 üzenetére
az IF sorra és az alatta lévöre jön hiba de nem tudom, hogy tudnám megnézni, hogy hol van a szoköz vagy tab hiba, látszolag egyhelyen vannak.
> import ezdxf
>>> from openpyxl import load_workbook
>>>
>>> # Load the Excel file
>>> workbook = load_workbook(filename='G:\g_ref\cross\intersection_points.xlsx')
>>> worksheet = workbook.active
>>>
>>> # Create a new DXF file
>>> doc = ezdxf.new(dxfversion='R2010')
>>> msp = doc.modelspace()
>>>
>>> # Read the coordinates from the Excel file
>>> max_row = worksheet.max_row
>>> for i in range(2, max_row+1):
... x = worksheet.cell(row=i, column=1).value
... y = worksheet.cell(row=i, column=2).value
... z = worksheet.cell(row=i, column=3).value
...
>>> # Check if any of the cells are empty
>>> if x is not None and y is not None and z is not None:
File "<stdin>", line 1
if x is not None and y is not None and z is not None:
IndentationError: unexpected indent
>>> msp.add_point((x, y, z))
File "<stdin>", line 1
msp.add_point((x, y, z))
IndentationError: unexpected indent
>>>
>>> # Save the DXF file
>>> doc.saveas('G:\g_ref\cross\coordinates.dxf')
>>> -
kovisoft
őstag
Ha nem olyan a szövegszerkesztőd, hogy meg tudná mutatni a speciális karaktereket, akkor pl. nézd meg, hogy a sor elejétől elindulva jobbra nyilat nyomogatva karakterenként egyesével halad vagy ugrik egy tabulátor-pozíciónyit. És hogy mi a helyzet egy másik sorban. Vagy töröld ki az if előtti karaktereket és gépeld be újra (ha szóközöket használsz a kódban, akkor szóközökkel). Ugyanígy a map előtti karakterekre is csináld meg ugyanezt.
[ Szerkesztve ]
-
kovisoft
őstag
válasz kovisoft #3996 üzenetére
Annyit még kiegészítésképpen, hogy a Python érzékeny az indentálásra, hiszen ezzel jelezzük a blokkokat a kódban. Mindenképpen egységes tabulálást kellene használni, de leginkább javasolt, ha mindenhol egységesen szóközöket használsz, hiszen a tab-ok mérete állítható, sőt van szövegszerkesztő, amely soft és hard tabokat vegyesen használ (pl. 1 tab leütés = 4 szóköz, 2 tab leütés = 1 db 8-as tab karakter ) .
A miértekről sokat lehet olvasni, ha mondjuk rákeresel a python space tab keresőszavakra, pl: Tabs or Spaces?
-
repvez
addikt
válasz kovisoft #3996 üzenetére
probáltam több félét ide oda másolgattam mig egyszercsak müöködött. meg a gond az volt, hogy a dxf file-t nem egyformán mutatja vagy olvassa be a külöbözö programok, az infranview és a PS hibát dobot rá, pedig elvileg kezelik, a blenderbe se mindig mutatta ,
Egyébként ha ennyire fontos a szóköz és a tab akkor miért nem jelzik valahogy a szerkesztöben ugy mint egy sima word dokumentumnál, hogy mikor milyen karakter volt leütve, segég elemként ami láthatatlan a formázásnál?
-
-
kovisoft
őstag
Wordben sem látod, ha nincs beállítva, hogy mutassa a speciális karaktereket. És ha normális IDE-t vagy szövegszerkesztőt használsz Pythonhoz, akkor ott is be lehet kapcsolni, hogy mutassa vagy hogy automatikusan mondjuk szóközt tegyen be akkor is, ha tab-ot nyomsz. Milyen szövegszerkesztőt használsz? Biztos, hogy nincs benne ilyen beállítás?
Új hozzászólás Aktív témák
- ASUS routerek
- Az alaplapgyártókra hárítja az Intel az egyes Core CPU-k stabilitási gondját
- Autós topik látogatók beszélgetős, offolós topikja
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Koreai autók topic (Kia, Hyundai, stb.)
- Futás, futópályák
- Kerékpárosok, bringások ide!
- PlayStation 5
- Robot fűnyírók
- eGPU tapasztalatok
- További aktív témák...