Új hozzászólás Aktív témák
-
gulbab
csendes tag
válasz kovisoft #1739 üzenetére
Köszönöm a segítséget, átsiklottam eddig felette.
Ezzel a kóddal jó lett.
SQL_ATTR_CONNECTION_TIMEOUT = 113
login_timeout = 1
connection_timeout = 1
kapcsolat = pyodbc.connect (cnxn_string,
timeout = login_timeout,
attrs_before = {
SQL_ATTR_CONNECTION_TIMEOUT : connection_timeout}) -
EQMontoya
veterán
válasz kovisoft #1742 üzenetére
Hat kulturaltabb volna a db-bol kiolvasott intbol timedelta ojjektumot csinalni, aztan utana normalisan (< illetve > operatorral) megirni a kodot.
Janos46: termeszetesen van.
[ Szerkesztve ]
Same rules apply!
-
cousin333
addikt
válasz kovisoft #1811 üzenetére
A történelmi hűség kedvéért: ennek a hivatalos neve generator expression.
mod: Nézem a PEP dátumát: nem is tudtam, hogy ez ilyen régi feature.
[ Szerkesztve ]
"We spared no expense"
-
McSzaby
őstag
válasz kovisoft #1830 üzenetére
Gondolkoztam a te megoldásodon is, de ebben az esetben nem tudom, hogy a sorrend megmarad-e pythonban. Dict-nél tudtommal nem kőbevésett a kulcsok sorrendje. Listánál nem változhat a sorrend? Mert akkor berakom listába, átnézem, kiveszem listából, berakom változókba, ez működhet, de elég overkillnek tűnik.
>>> for x in range(2):
if type(a[x]) != int:
a[x] = 0
>>> print (a)
[0, 1]#ThankYouSirAlex #ThankYouLouis
-
EQMontoya
veterán
válasz kovisoft #1837 üzenetére
Amit erdemes tudni ezzel kapcsolatban, hogy a dict mutable, tehat itt nem egy masolatot adsz at belole, hanem egy referenciat az eredetire. Azaz a fuggvenyen beluli modositas latszani fog ott is, ahonnan hivtad.
Nyilvan ez McSzaby-nak szol elsosorban.
Same rules apply!
-
Siriusb
veterán
válasz kovisoft #1861 üzenetére
Igazad van!
viszont a doksiban rosszul van a példa, én meg leragadtam annál, mert logikusnak tűnt a szintaktika.
import sqlite3
import datetime
con = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
cur = con.cursor()
cur.execute("create table test(d date, ts timestamp)")
today = datetime.date.today()
now = datetime.datetime.now()
cur.execute("insert into test(d, ts) values (?, ?)", (today, now))
cur.execute("select d, ts from test")
row = cur.fetchone()
print(today, "=>", row[0], type(row[0]))
print(now, "=>", row[1], type(row[1]))
cur.execute('select current_date as "d [date]", current_timestamp as "ts [timestamp]"')
row = cur.fetchone()
print("current_date", row[0], type(row[0]))
print("current_timestamp", row[1], type(row[1]))
Nézd már meg légyszíves, ebben a mintapéldában tényleg fordítva van megadva (és mégis működik), vagy én nézek félre valamit (ami könnyen megeshet ) ?
-
peter1998
tag
válasz kovisoft #1883 üzenetére
Köszi szépen.Végül ez lett a kód.
#fajl beolvasas
f = open("asd.txt", "r")
lines=f.readlines()
#beolvastam a fajlt
#akksi toltottsege
akksi_toltottsege = lines[0]
form_akksi_toltottsege = akksi_toltottsege[16:19]
#---------------------------
akksi_feszultseg = lines[1]
form_akksi_feszultseg = akksi_feszultseg[17:22]
#---------------------------
bejovo_feszultseg = lines[15]
form_bejov_feszultseg = bejovo_feszultseg[15:20]
#---------------------------
#fajl bezarasa
f.close() -
Siriusb
veterán
válasz kovisoft #1920 üzenetére
Szívem szerint így használnám, ahogy írtad, viszont emiatt nem akarok modult importálni. Az egyszerűség győzött.
(#1921) s1999xx
Az elmúlt héten éppen pdf fájlok bizonyos tartalmi részeinek kinyerésével foglalkoztam, ott tapasztaltam a magyar ékezetes betűknél is galibát, pl ő-ből hullámos "õ" lett. Mondjuk szerencsém volt, mert meg tudtam írni úgy a regex-eket, hogy ezek a betűk kikerüljenek a képből, szóval nem kellett vele foglalkoznom.(#1922) s1999xx
Jelen pillanatban angol szövegre használom, szóval a lower() a legegyszerűbb és legkevésbé erőforrás igényes megoldás.Néha beleesek abba a hibába, hogy egy sorba akarom zsúfolni az adott kódrészletet, aztán belátom hogy a legegyszerűbb nem mindig a legrövidebb, ráadásul ha később percekig kell bámulni, hogy mit is csinál az a sor. Szóval van amikor jobb több sorban megvalósítani a célt, nem lehet az ember teljesen elvakult.
-
-
n00n
őstag
válasz kovisoft #2005 üzenetére
Utánaolvastam és nem vár 1024 byte-ra. A send() elküldi a küldött byte-ok számát is, így a recv azt is megkapja. Szóval ha kevesebb az nem baj,, de 1024 lehet maximum nálam. Aminél több nem is jöhet nálam.
socket.recv(bufsize[, flags])
Receive data from the socket. The return value is a bytes object representing the data received. The maximum amount of data to be received at once is specified by bufsize.Egyébként működik:
Server:
test@test-machine:~/pyproject python3 server.py
2019-02-27 13:38:47,062 - 192.168.0.2:39620 - Connected
2019-02-27 13:38:52,597 - 192.168.0.2:39620 - Message received: b'Hi\n'
2019-02-27 13:38:53,603 - 192.168.0.2:39620 - Message sent: b'Welcome\n'Client:
test@test-machine:~/pyproject python3 client.py
Hi
Response: b'Welcome\n'[ Szerkesztve ]
-
n00n
őstag
válasz kovisoft #2014 üzenetére
beraktam egy ilyet:
except Exception as e:
logging.error("Error receiving data: " + e)De valamiét ha megszakítom a klienst ctrl+c-vel, az nem küld semmilyen exception-t, próbáltam Exception helyet socket.error-ral is.
Kliens: az csak tesztelési célzattal készült, a szerveren lenne a fő hangsúly.
-
-
axioma
veterán
válasz kovisoft #2076 üzenetére
Persze, nem is arra reagaltam, hanem a dict-ben kereses O(1) vs. linearis-ra. Igazad van, rosszul linkeltem hogy mirol jutott eszembe (EQMontoya-ra kellett volna eggyel elotted), nem a te megoldasodrol. Btw arra azt irtam hogy az akkor is O(1) ha minden hozzaadas es kivetel eseten egy szamlalot update-elsz, nem kell kulon map-be is rakni. A vizsgalatok szama (marmint hogy az elem tuple-e) ugyanannyi.
[ Szerkesztve ]
-
axioma
veterán
válasz kovisoft #2103 üzenetére
(Na igen, hacsak nem valahonnan generalodik az a ra'ta, akkor jo esellyel eleg az 5%-onkenti lepcso, mert ember fog saccolni, hogy mennyi kell, es az nem lesz pontosabb, eleg egy 20-as tomb.
Ha mar kicsit tanulasi iranyba megy el, tehat a beallitasnal pl. optimalis ara'nyt keresnek iterativan, akkor talan jobb a viszonylag pontos eloszlas - ugyanazon a kezdoszeleten nezve, tehat %-allitaskor nullazni a szamlalot.) -
-
válasz kovisoft #2113 üzenetére
Mindíg is csodáltam akik reguláris kifejezéseket ennyire vágják. Én még magára a szóra sem emlékeztem, percekbe telt míg beugrott, hogy így hívják ezeket. (Hiába no, öregember nem gyorsvonat)
Köszi!(Gnome-al persze ékezetesen is pöc röff működik, Cinnamon-al meg nem. A manó rúgja meg.)
[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
Siriusb
veterán
válasz kovisoft #2130 üzenetére
Óóóó, köszi. Ez fura, mert a kulcsszavast két csillaggal szokták jelölni.
*args és **kwargs formában találkoztam eddig mindenhol a paraméterjelöléssel, ami jól megkülönbözteti egymástól a kétféle típust.
Kilogikázni ezt sosem tudtam volna. Kísérleteztem, s hibának ki is dobta, hogy a replace csak 4 paraméter fogad el maximum, de a hivatalos doksiban egy csillagot raknak oda és még vesszőt is raknak utána, ez teljesen bekavart.
Köszi! -
sztanozs
veterán
válasz kovisoft #2130 üzenetére
Nem, * azt jelenti, hogy listát vár, ** pedig dict-et.
Tehát egy csillagnál nem lehet, két csillagnál pedig kötelező névvel megadni az argumentumokat.
keyword-argumentsEbben az esetben szvsz (opcionálisan) több célt jelent.[ 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...
-
sztanozs
veterán
válasz kovisoft #2133 üzenetére
Ugyanonnan:
form **name is present, it receives a dictionary ... form *name (described in the next subsection) which receives a tuple[ 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...
-
sztanozs
veterán
válasz kovisoft #2138 üzenetére
Wow, ezt keresetm, csak nem találtam - ezer köszönet!
def compare(a, b, *, key=None):
Szóval a fenti definíció egy synthetic sugar a következő megvalósítással:
def compare(a, b, *ignore, key=None):
if ignore: # If ignore is not empty
raise TypeErrorJOGI 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...
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest