Új hozzászólás Aktív témák
-
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.
[ Szerkesztve ]
Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.
-
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.
Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.
-
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á.
Jesus my savior, not my religion. - Jéghegy nem talál ibolyát.
-
veterán
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')
-
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))
-
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.[ Szerkesztve ]
-
JoinR
senior tag
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.[ Szerkesztve ]
-
JoinR
senior tag
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):
...
[ Szerkesztve ]
-
JoinR
senior tag
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 dt
from datetime import timedelta
datum1 = "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.[ Szerkesztve ]
-
MasterMark
titán
-
sztanozs
veterán
válasz Oryctolagus #3883 üzenetére
az a baj, hogy ez szamkent nem megfelelo ertek...
6:49 != 6.49
6:49 == 6.82
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
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[ Szerkesztve ]
-
sztanozs
veterán
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}')[ 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...
-
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.
[ Szerkesztve ]
Switch Tax
-
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.
[ Szerkesztve ]
Switch Tax
-
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[ Szerkesztve ]
-
Oryctolagus
tag
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen