Hogyan kezeljem ezt megfelelően? (Python)
Üdv!
Python stringgel akadt némi problémám.
Van egy .txt fájlom, amiből egy szót akarok betölteni. Maga a szó kb. így néz ki: [xxx\'xx]
Amikor betöltöm, és elmentem egy változóba (my_word), akkor lesz belőle "[xxx\\'xx]"
Majd ezt próbálom egy adatbázisba írni valami ilyesmi paranccsal (nem pont így néz ki, de ez a része biztos, hogy helyes): "insert into my_table(word) values('{}')".format(my_word)
És itt elakad, mert az sql parancsban 3 aposztróf van, a két backslash pedig kiüti egymást. Nem tudom, hogy formázzam meg, hogy a szó ugyanabban a formában kerüljön az adatbázisba, mint ahogy a .txt-ben van.
Az adatbázisba iráshoz használj sqlalchemy-t
Amúgy a betöltéssel nem hiszem hogy gond lenne.
miutan beolvastad a szot csinalj egy ilyet:
my_word = my_word.replace("'", "''")
#1: Hát új programot most nem fog betanulni egy vesszőhiba miatt, de utánaolvasok mi ez.
#2: Nem egészen értem, miért lett volna jobb nekem, ha az egy aposztrófot kicserélem kettőre, mindenesetre sikerült máshogy megoldanom a hibát.
"#1: Hát új programot most nem fog betanulni egy vesszőhiba miatt, de utánaolvasok mi ez. "
Nem a vesszőhiba miatt, hanem amiatt, hogy a kérdésedből következtetve, az alkalmazásod tele van biztonsági résekkel.
Nem tudom, hogy számít-e, de az adatbázisom nem a neten van, hanem csak a gépemen, nemigen férhet hozzá senki anélkül, hogy a gépemet fel ne törje először, akkor meg már úgyis mindegy. Meg aztán kezdő és amatőr vagyok, elég ha működik, amit csinálok.
Itt most csak annyi történik, hogy korábban, amíg egyáltalán nem ismertem az adatbázis kezelést, szöveges fájlokba mentettem ki adatokat, és most ezeket "konvertálom" át adatbázisba, mert sokkal kézenfekvőbb módon lehet így lekérdezni mindenféle szempont szerint.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!