Hirdetés
- Klaus Duran: HP wifi nyomtatás+ win11.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- Gurulunk, WAZE?!
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
Új hozzászólás Aktív témák
-
Oryctolagus
tag
válasz
Oryctolagus
#3907
üzenetére
megoldottam nyakatekerten, de megy
-
axioma
veterán
válasz
Oryctolagus
#3892
üzenetére
atlaghoz tuti perc (vagy masodperc) egeszeket atlagolnek, majd a megjelenites megoldja ha neked nem 12589 masodperc hanem 3 ora 29 perc 8 masodperc kiiras legyen (bocs ha elszamoltam de a formatum a lenyeg)
vagy #3892 is jo persze, keresztposzt, lenyegeben ugyanaz -
MasterMark
titán
válasz
Oryctolagus
#3892
üzenetére
Akkor alakítsd át decimálissá ahogy sztanozs is írta utána már tudsz vele számolni. Aztán ha megvannak az értékek akkor visszaalakítod óra formátumra.
Azaz a 4:30 vagyis 4 és fél óra decimálisan 4.5 óra.
szerk.: Igaz, tárold csak simán a total_seconds-ot ahogy axioma írja és kész. Könnyebb is számolni vele.
-
MasterMark
titán
válasz
Oryctolagus
#3890
üzenetére
A kérdés az hogy azt szeretnéd hogy:
a 4 óra 30 percből 4.30 legyen vagy az hogy 4.5.szerk.: Mi a célja ennek a formátumnak amit meg akarsz csinálni? Mert nekem ebből még nem világos.
-
válasz
Oryctolagus
#3885
üzenetére
totalseconds-ot kell hasznalni
from datetime import datetime
date_form = '%Y-%m-%d %H:%M:%S'
str_dt1 = '2022-11-28 10:32:00'
str_dt2 = '2021-10-26 15:21:00'
dt1 = datetime.strptime(str_dt1, date_form)
dt2 = datetime.strptime(str_dt2, date_form)
minus = int((dt2 - dt1).total_seconds())
perc, mperc = divmod(minus, 60)
ora, perc = divmod(perc, 60)
print(f'{ora}:{perc}')
print(f'{ora}.{perc*100//60}') -
Hege1234
addikt
válasz
Oryctolagus
#3885
üzenetére
gányolós megoldással valahogy így
from datetime import datetime
import re
date_form = '%Y-%m-%d %H:%M:%S'
str_dt1 = '2022-11-28 10:32:00'
str_dt2 = '2021-10-26 15:21:00'
dt1 = datetime.strptime(str_dt1, date_form)
dt2 = datetime.strptime(str_dt2, date_form)
minus = dt2 - dt1
minus_zeros = re.findall(r'(.*):', str(minus))[0].strip()
to_dot = re.sub(':', '.', minus_zeros)
minus_text = re.findall(r',.(.*)', str(to_dot))[0].strip()
print(minus_text)
#4.49szerk:
ok látom már miért nem lesz jó
hozzáírja a napot is mennyi telt el...
javítottam -
válasz
Oryctolagus
#3883
üzenetére
az a baj, hogy ez szamkent nem megfelelo ertek...
6:49 != 6.496:49 == 6.82 -
MasterMark
titán
válasz
Oryctolagus
#3881
üzenetére
Óra + perc/100
-
JoinR
őstag
válasz
Oryctolagus
#3517
üzenetére
Na ki kellett volna próbálnom, mielőtt elküldöm sajnos a datetime esetén az elnevezésekbe könnyű belekeveredni, mert a module és a function neve is datetime. Érdemes csak 1-1 function-t importálni, és a datetime function-nek nevet adni (as dt)
Így tuti lefut:
from datetime import datetime as dtfrom datetime import timedeltadatum1 = "202105071312"current_time = dt.now()datum1 = dt.strptime(datum1, "%Y%m%d%H%M")if datum1 <= current_time - timedelta(days=30):print("Mukodik")A
datetime.timedelta(days=30)akkor működne, ha az egész module-t beimportálnádimport datetime-mal, viszont akkor a többi sornáldatetime.datetime.now()megdatetime.datetime.strptime(...)kellene, ami nem túl szép. -
JoinR
őstag
válasz
Oryctolagus
#3515
üzenetére
Így már értem. Szóval a datetime.now()-t nincs értelme olvasható stringre alakítani, maradjon így:
current_time = datetime.now()
Hanem a datum1-et alakítjuk át stringből datetime objectté:datum1 = datetime.strptime(datum1, "%Y%m%d%H%M")
Így már használható velük a timedelta function összehasonlításra, pl:if datum1 <= current_time - datetime.timedelta(days=30):... -
JoinR
őstag
válasz
Oryctolagus
#3513
üzenetére
Kicsit szét van esve ez a hsz, így nem értem mi a cél, de ha már dátum, akkor szerencsésebb lenne dátumként tárolni.
Pl.:current_time = datetime.strptime(current_time, "%Y%m%d%H%M")
Amúgy a kérdésre a válasz elvileg csakint(current_time)lenne, ha az érték stringként kerül a változóba az adatbázisból. -
Siriusb
veterán
válasz
Oryctolagus
#3463
üzenetére
Szerintem a root_dir megkevert téged, itt a példa: https://docs.python.org/3/library/shutil.html#archiving-example-with-base-dir
base_name is the name of the file to create, including the path
Azaz nem csak a készülő fájl neve, hanem az útvonal is itt kerül megadásra, pl. os.join-nal.base_dir is the directory where we start archiving from; i.e. base_dir will be the common prefix of all files and directories in the archive. base_dir must be given relative to root_dir
A root_dir az archivum főkönyvtára, és a base_dir relatív kell legyen ehhez.Tehát root_dir a C:, base_dir az "innen".
Vagy egyszerűen chdir-rel belépsz a "C:\innen"-be és a fenti két paraméternek ez lesz az alapértéke, meg sem kell adnod. Attól függ, milyen struktúrát akarsz. -
Siriusb
veterán
válasz
Oryctolagus
#3423
üzenetére
Szia!
Szerintem ezek számot adnak vissza: [link]
Ha datetime-má alakítod, tudsz a dátumokkal is műveleteket végezni, kivonni stb:
valtozo = datetime.datetime.fromtimestamp(os.path.getmtime(path)) -
válasz
Oryctolagus
#3423
üzenetére
Szia,
át kell alakítani datetimre-ra és utána már kivonhatóik egymásból simán
time = datetime.strptime(time_str, '%d/%m/%y %H:%M:%S')
-
Noddy
senior tag
válasz
Oryctolagus
#662
üzenetére
Szerintem jó kis programot készítettél
Én is most ismerkedek a pythonnal és én se tudtam volna elsőre tökéletesen megcsinálni, pl a random string generálást eddig nem ismertem. Csak feltűnt, hogy bár létre hoztad a q változót nem hivatkoztál rá. -
Noddy
senior tag
válasz
Oryctolagus
#659
üzenetére
import random
import string
import sys
import os
s=string.digits+string.punctuation+string.ascii_letters
q=str(''.join(random.sample(s,10)))
print ('Az Ön jelszava')
print (q)
kerdes=input("Másikat, i vagy n?")
while kerdes==('i'):
q=str(''.join(random.sample(s,10)))
print (q)
kerdes=input("Másikat, i vagy n?")
else:
kerdes==('n')
mentes=input('Szeretné menteni .txt fájlban?, i vagy n?')
if mentes==('i'):
h=input('A fájl helye legyen:')
os.chdir(h)
f=open(input("Adja meg a fájl nevét:")+'.txt','w')
f.write(q)
f.close()
print('Köszönöm, hogy ezt a programot választotta.')
print('Köszönöm, hogy ezt a programot választotta.')Elvileg így most működik, de az os.chdir() nem tudom hogy működik konzolban, mármint, hogy kell megadni, hogy hova mentsen.
-
Noddy
senior tag
válasz
Oryctolagus
#659
üzenetére
Ha az elkészült jelszó a q változóban van, miért nem azt íratod ki és miért generáltatsz újat a .join(random.sample(s,10) sorral?
Nem úgy kellene, hogy:
q=str(''.join(random.sample(s,10)))
print ('Az Ön jelszava')
print (q)És ugyan így a fájlba íratásnál is.
Új hozzászólás Aktív témák
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- AMD vs. INTEL vs. NVIDIA
- iPhone topik
- Kedvenc zene a mai napra
- DUNE médialejátszók topicja
- Redmi Note 12 Pro - nem tolták túl
- Proxmox VE
- Vigneau interaktív lokálblogja
- Mafia II
- További aktív témák...
- Samsung Galaxy A50 128GB, Kártyafüggetlen, 1 Év Garanciával
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- AKCIÓ! DELL PowerEdge R630 rack szerver - 2xE5-2680v4 (28c/56t, 2.4/3.3GHz), 128GB RAM, 1G, áfás
- iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3581
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 256 GB-100%-3 hó gari!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Én is most ismerkedek a pythonnal és én se tudtam volna elsőre tökéletesen megcsinálni, pl a random string generálást eddig nem ismertem. Csak feltűnt, hogy bár létre hoztad a q változót nem hivatkoztál rá.
