Kezdőoldal » Számítástechnika » Programozás » Python import from helyi fájl...

Python import from helyi fájl nem működik?

Figyelt kérdés

van két fájlom egy mappában, main.py és MY_COLORS.py

MY_COLORS.py tartalma:


from colorama import Fore

_RED = Fore.RED


main.py tartalma:


from MY_COLORS import *

print("{}RED_COLOR".format(_RED))


Hiba:

NameError: name '_RED' is not defined

Rengeteg ilyen változó van a MY_COLORS fájlban, ha egyesével ínám oda őket, hogy from xy import ez az amaz izé emezis aztis megmégeztis stb, akkor jó sok időt tölthetnék csak ezzel.

Ötletek?


2020. aug. 4. 20:40
 1/8 anonim ***** válasza:
Mi szükség van a MY_COLOR.py-ra? Miért nem a colorama.py-t importálod? Akkor csak Fore.RED lenne...
2020. aug. 4. 20:52
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

azért mert így egyszerűbb. Pl a _RED lehet Fore.RED, a _DEFAULT lehet Fore.WHITE vagy BLACK vagy akármi. Sőt, azt is megcsinálhatom így, hogy az mondom, hogy _ERR_TITLE = Fore.RED, _ERR_CONTENT = Fore.LIGHTRED_EX, stb.


Amúgy rájöttem (annak ellenére hogy nem a kérdésre válaszoltál, hanem a módszerbe kötöttél bele):


Megoldás: Import MY_COLORS as C

és úgy használhatod a benne lévő dolgokat, hogy actually meghívod őket.

Azaz:

C._RED, C._ERR_TITLE, stb... Ezt felejtettem ki.

2020. aug. 4. 20:56
 3/8 anonim ***** válasza:
91%

Egy változót nem hívsz meg.

Az eredeti kódod pedig azért nem működik, mert underscore a változónév első karaktere, így az import * ignorálja.

2020. aug. 4. 21:01
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
Nem belekötöttem, csak meg akartam tudni mi a célod vele.
2020. aug. 4. 21:04
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

"azért nem működik, mert underscore a változónév első karaktere, így az import * ignorálja."

Tévedés. Teljesen jól működik, miután elé tettem, hogy C.

Akár van az elején _ akár nincs, működik. :D

2020. aug. 4. 21:16
 6/8 anonim ***** válasza:
Nem az a lényeg, hogy elé tetted a C-t te félkegyelmű, hanem, hogy már nem *-gal importálod a _RED változót.
2020. aug. 4. 21:18
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Még azt is hozzátenném, hogy így, ha a változóba egy üzenetet is írok, nem csak egy színt teszek bele (amivel értelmetnyer mondjuk egy _404_MSG, akkor nem az van, hogy minden hibakezelésnél újra és újra beírom, hogy "A KERESETT OLDAL NEM TALÁLHATÓ", és még hozzá írogatom a színeket, hanem annyit írok be, hogy print(_404_MSG) és ennyi (csak a példa kedvéért).
2020. aug. 4. 21:19
 8/8 anonim ***** válasza:

Kérdező, nagy kár érted.

Pedig milyen remek műbútor-asztalos lehetett volna belőled.

2020. aug. 5. 09:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!