Kezdőoldal » Számítástechnika » Programozás » Python, melyik kifejezést...

Python, melyik kifejezést keresem a probléma megoldására?

Figyelt kérdés

Djangonál van olyan,hogyha először beírod, hogy "migrate", akkor kiírja hogy pl "initial commit....", aztán ha készen van, lecseréli arra, hogy pl "initial commit..OK".


Ezt akarom megcsinálni egy saját programnál, hogy amikor létrehozza az adatbázist, betölti az XYZ fájlokat, stb, akkor kiírja azt, hogy "Creating database", aztán ha készen van, tegyen a végére egy "OK"-ot.

Órák óta keresem mi lenne ez, de egyszerűen nem jut eszembe a szó...


2021. szept. 25. 16:50
1 2
 1/11 anonim ***** válasza:
ööö... print?
2021. szept. 25. 17:04
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

:DDDDDDDDDDDDDDDDDDDD


akkor másképp modnom:

print("Épp tortát szarok")

tortaszaras() <--- funkció

AMIKOR VÉGEZ A tortaszaras() FUNKCIÓ:

print("Épp tortát szarok .. kész") <--- Ez ezt csinálja:


Épp tortát szarok

Épp tortát szarok .. kész


Én azt akarom, hogy írja ki azt az adott sort, végez a feladattal és az előzőleg kiírt sor Végére okádja, hogy "kész" :D Így már érteni, vagy mivan? Ennyire nem volt világos az első két példában, hogy kiírja hogy pl "initial commit....", aztán ha készen van, lecseréli arra, hogy pl "initial commit..OK".?

2021. szept. 25. 17:09
 3/11 Pelenkásfiú ***** válasza:

Én sem teljesen értem.

A terminalba utoljára kiírt sort szeretnéd módosítani?

Ha igen, akkor nagyon egyszerű:


print("Creating database...", end="\r")


Később:

print("Creating database: OK.")


De ha nem akarsz változtatni sem a szövegen, csak hozzáírni, akkor meg annyi, hogy:


print("Creating database.", end=" ")

print("OK")

2021. szept. 25. 17:11
Hasznos számodra ez a válasz?
 4/11 Pelenkásfiú ***** válasza:
100%

A #2-t még nem olvastam, amikor a #3-ast írtam.


Talán azért nem értettük, hogy mit szeretnél mert egy "kifejezésen" és egy "szón" gondolkozol.

2021. szept. 25. 17:13
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

igen, mert magát a kifejezést keresem, hogy az mi lenne. Ezért is hoztam fel példának, hogy pl django-nál is a migrate parancsot kiadva ezt csinálja, csak nem jut eszembe a kifejezés, "amit" csinál.


Egyébként nemrég találtam én is a end=" " megoldást, viszont ezzel annyi a gond, hogy nem írja ki az első printet, csak miután a kettő közti dolog végez.


tehát a

print("Creating database.", end=" ")

tortatszarok()

print("OK")


egybe kidobná, hogy "creatting database OK", amíg meg a funkció fut, addig nem írna ki semmit. A \r nem lenne rossz, viszont azt vettem észre, hogy mikor végez, akkor felülírja a kiírt sort. Tehát azt írja ki hogy Creating database, majd mikor végez, "OKeating database".


Egész poénos ez a kis baszakvás így du fél 2 óta XD

2021. szept. 25. 17:18
 6/11 anonim ***** válasza:
100%

így:


print("Épp tortát szarok...", end="")


tortaszaras() <--- funkció


AMIKOR VÉGEZ A tortaszaras() FUNKCIÓ:


print("kész")


ha a printnek átadod az end=""-t akkor nem fog sort emelni, így a következö print ugyanabban a sorban folytatja

2021. szept. 25. 17:21
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:
100%

ha meg azt akarod, hogy írja ki az elsöt még mielött sort emelnél, akkor add át neki a flush=True-t

print("Épp tortát szarok...", end="", flush=True)

2021. szept. 25. 17:23
Hasznos számodra ez a válasz?
 8/11 Pelenkásfiú ***** válasza:

"magát a kifejezést keresem, hogy az mi lenne"

Ha arra gondolsz, hogy hogy kereshetnél rá Google-ben, akkor pl.:

python replace last/previous terminal line


"majd mikor végez, "OKeating database"."

Nézd meg újra, én hogy írtam a példát!


"viszont ezzel annyi a gond, hogy nem írja ki az első printet"

Akkor ott valamit elrontottál.

2021. szept. 25. 17:23
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Tehát igazából a \r megoldás lenne a legjobb, viszont ha rövidebb az adott sor, pl "Creating database" amit először kiír, amire le kell cserélje az "Db created", akkor a Creating database szöveg csak első pl 10 karakterét írja át (amilyen hosszú a második string). pl: Creating database-ből lesz az hogy Db createdatabase ami már más probléma, de kezelni kéne elvileg minden lehetséges hibát.

Olyasmi mint mondjuk... Mondjuk az ilyen Unit Teszt.

Kiírja egy sorba, hogy "Testing connectivity", csinál valamit, majd a végére csapja, hogy " WORKING", aztán kövi sor "Making connection", csinál valamit, végére " DONE", stb... Imádom hogy nem jut eszembe az az egy kifejezés, ahogy ezt hívják :D

2021. szept. 25. 17:23
 10/11 anonim ***** válasza:

ha az end='\r' megoldást akarod használni, az is müködik, csak akkor az egész sort kell második printbe rakni


print("Éppen tortát szarok...", end="\r")


...tortaszarás


print("Éppen tortát szarok...OK")

2021. szept. 25. 17:24
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!