Kezdőoldal » Számítástechnika » Programozás » Python: ékezeteket tartalmazó...

Python: ékezeteket tartalmazó könyvtárak keresése?

Figyelt kérdés

Ékezetes könyvtárneveket szeretnék keresni rekurzívan, Linux alatt, azt szeretném, ha ezek nevei - elérési útvonallal együtt - bekerülnének egy fájlba.

Nagyon régen készült ékezetes könyvtárak is lehetnek, nagy valószínűséggel CP1250 kódolással, még például Windows XP időkből.

Manapság csak UTF-8 kódolás van, így nem tudom miképpen lehetne kivitelezni hogy mindkettőt keresse, gondolom programon belül, erre volt egy próbálkozás is, ha csak simán adom meg a karaktereket, ezek UTF-8 karakterekként jelennek meg, ha Notepad++ segítségével átállítom a kódolást, akkor meg fura karakterekké alakulnak, de akkor is két karakterként jelennek meg.

Reménykedem benne hogy Python segítségével ez sokkal egyszerűbben is megoldható.

A két próbálkozás Python-ban (ezeket miképpen lehetne működésre bírni, vagy mi az egyszerűbben működő megoldás)?

[link]

A programon belüli CP1250 dekódolás:

[link]



jún. 8. 17:24
 1/10 A kérdező kommentje:

CP1250 karakterek ASCII kód szerint történő megadása és script módosítás:

[link]

jún. 8. 19:26
 2/10 anonim ***** válasza:
Alternatív megoldás lehet, hogy ha pl. azt nézed, hogy tartalmaz-e a filenév 128-as értékű karakternél nagyobbat
jún. 8. 21:56
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
Köszönöm, ennek Python-ban (vagy esetleg más) programnyelven történő megvalósításában tudsz segíteni?
jún. 8. 21:57
 4/10 anonim ***** válasza:
A stringet karakterenként nézed, akkor annak egy számnak kell lennie (lehet, hogy castolni kell)
jún. 8. 21:59
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
Azt tudom hogy számnak kell lennie, csak ezeket a programozási nyelveket nem igazán ismerem a megvalósítást illetően, csak a Pascal-t, csak abban tudnám megoldani valahogy, de az bizonytalan már hogy mennyire kompatibilis + hosszú fájlneveket meg path-ot kezelné -e stb. Régen is volt hogy kiakadt.
jún. 8. 22:02
 6/10 A kérdező kommentje:
Egyébként a belinkelt megvalósítások mennyire működőképesek, ha azokban megoldom amit írtál, kis javítással működőképessé tehető?
jún. 8. 22:04
 7/10 anonim ***** válasza:
Én se vagyok profi, érdemes kipróbálni egy kisebb mappán, hogy hogy viselkedik (amiben vannak ékezetes nevek). Ha tudsz iderakni olyat, mint cp1250-es kódolású van, akkor még jobb (de egyébként biztos, hogy ez lehetséges? Milyen fájlrendszerben vannak ezek a fájlok? Lehet, hogy átmásolás átalakítja utf-8-ra, nem?)
jún. 8. 22:06
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

Linux alatt, NTFS fájlrendszerben vannak a fájlok.

2006 környékén lett létrehozva, még Windows XP alatt, azóta csak bővült a gyűjtemény (backup).

Volt sokat Windows XP-n használva a lemez, meg Windows 7 alatt is, jópár éve pedig Linux alatt van, de olyan Linux, amelyen nincs grafikus felület, se magyar nyelv, se a LANG változó nincs UTF8 értékre állítva, stb...

Szerintem terminálból hiába másolnék ki ékezeteket tartalmazó fájlneveket, mert átalakulhatnak a kódolás miatt.

jún. 8. 22:12
 9/10 anonim ***** válasza:

Na közben kicsit nézegettem a dolgokat, ha lefuttatod az alábbit, akkor csak az á betűt írja ki:

str = "asdá"

for c in str:

if ord(c) > 128:

print(c)


(persze előtte tördelni kell, mert a gyk azt elrontja). Az ord() fv visszaadja a karakterkódját az adott characternek. Viszont ez unicode, így kérdéses, hogy mással menni fog-e, de szerintem érdemes kipróbálni, ha belerakod az egyik linkelt scriptbe, ahol végig iterálsz a path-on (de mint ahogy mondtam, valószínűleg először egy kis mappán érdemes kipróbálni)

jún. 8. 22:18
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

Itt írnak még pár dolgot, kommenteket is érdemes elolvasni:

[link]

jún. 8. 22:20
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!