Φόρουμ Εκμάθησης Λογισμικού

Εκμάθηση λογισμικού => Python => νμα ξεκίνησε π: Erdeh στις Δεκ 20, 2025, 09:20 ΜΜ

Τίτλ: Ανάγνωση και Γραφή Αρχείων με Python: Οι Πιο Συχνά Χρησιμοποιούμενες Μέθοδοι
Αποσλή από: Erdeh στις Δεκ 20, 2025, 09:20 ΜΜ
Η Python προσφέρει μια εξαιρετικά ισχυρή και απλή δομή για τις λειτουργίες αρχείων. Οι λειτουργίες ανάγνωσης και γραφής αρχείων είναι απαραίτητες σε πολλά σενάρια, όπως η ανάλυση δεδομένων, η διαχείριση αρχείων διαμόρφωσης, η καταγραφή log ή η δημιουργία απλών εναλλακτικών βάσεων δεδομένων. Σε αυτό το άρθρο, θα εξετάσουμε λεπτομερώς τις βασικές μεθόδους λειτουργιών αρχείων στην Python, τις πιο κοινές χρησιμοποιούμενες συναρτήσεις και τις καλές πρακτικές.

Βασικό Άνοιγμα Αρχείου: Συνάρτηση open()
Στην Python, οι λειτουργίες αρχείων ξεκινούν με τη συνάρτηση open(). Αυτή η συνάρτηση δέχεται δύο βασικές παραμέτρους:

Παράδειγμα:
# Ανάγνωση αρχείου κειμένου
with open("ornek.txt", "r", encoding="utf-8") as dosya:
    icerik = dosya.read()
print(icerik)


Η χρήση του μπλοκ with είναι πολύ σημαντική γιατί το αρχείο κλείνει αυτόματα και αποτρέπεται η διαρροή πόρων.
Κοινές Λειτουργίες

Ανάγνωση Αρχείου Γραμμή προς Γραμμή
Για μεγάλα αρχεία, είναι πιο αποδοτικό να διαβάζονται γραμμή προς γραμμή αντί να φορτώνονται ολόκληρα στη μνήμη:

with open("buyuk_dosya.txt", "r", encoding="utf-8") as dosya:
    for satir in dosya:
        print(satir.strip())  # strip() για να καθαρίσει τα κενά στην αρχή/τέλος


Ή για συγκεκριμένο αριθμό γραμμών:

with open("dosya.txt", "r", encoding="utf-8") as dosya:
    ilk_bes_satir = dosya.readlines()[:5]

Γραφή και Προσθήκη σε Αρχείο

# Δημιουργία νέου αρχείου και γραφή
with open("yeni_dosya.txt", "w", encoding="utf-8") as dosya:
    dosya.write("Αυτή είναι η πρώτη γραμμή.\n")
    dosya.write("Αυτή είναι η δεύτερη γραμμή.\n")

# Προσθήκη σε υπάρχον αρχείο
with open("yeni_dosya.txt", "a", encoding="utf-8") as dosya:
    dosya.write("Αυτή είναι η προστεθείσα γραμμή.\n")


Για γραφή πολλαπλών γραμμών με writelines():

satirlar = ["Γραμμή 1\n", "Γραμμή 2\n", "Γραμμή 3\n"]
with open("dosya.txt", "w", encoding="utf-8") as dosya:
    dosya.writelines(satirlar)

Εργασία με Αρχεία CSV
Τα αρχεία CSV (Comma Separated Values) είναι πολύ κοινά στην ανταλλαγή δεδομένων. Η ενσωματωμένη μονάδα csv της Python το κάνει εύκολο:

import csv

# Γραφή CSV
with open("veriler.csv", "w", newline="", encoding="utf-8") as dosya:
    yazar = csv.writer(dosya)
    yazar.writerow(["Όνομα", "Ηλικία", "Πόλη"])
    yazar.writerow(["Γιάννης", 30, "Αθήνα"])
    yazar.writerow(["Μαρία", 25, "Θεσσαλονίκη"])

# Ανάγνωση CSV
with open("veriler.csv", "r", encoding="utf-8") as dosya:
    okuyucu = csv.reader(dosya)
    for satir in okuyucu:
        print(satir)


Διαχείριση Σφαλμάτων
Είναι σημαντικό να συλλαμβάνονται τα σφάλματα που μπορεί να προκύψουν κατά τις λειτουργίες αρχείων:

try:
    with open('olmayan_dosya.txt', "r", encoding="utf-8") as dosya:
        print(dosya.read())
except FileNotFoundError:
    print("Το αρχείο δεν βρέθηκε!")
except PermissionError:
    print("Δεν υπάρχει άδεια πρόσβασης στο αρχείο!")
except Exception as e:
    print(f"Απροσδόκητο σφάλμα: {e}")


Καλές Πρακτικές και Συμβουλές
• Χρησιμοποιείτε πάντα encoding="utf-8" (για να αποφύγετε προβλήματα με ελληνικούς χαρακτήρες).
• Για μεγάλα αρχεία, προτιμήστε το readline() ή την προσέγγιση generator.
• Για δυαδικά αρχεία (εικόνες, PDF), χρησιμοποιήστε τις λειτουργίες "rb" ή "wb".
• Με τη μονάδα pathlib, μπορείτε να κάνετε σύγχρονη διαχείριση διαδρομών αρχείων (Python 3.4+).

Συμπέρασμα
Οι λειτουργίες ανάγνωσης και γραφής αρχείων στην Python είναι αρκετά απλές και χρησιμοποιούνται συχνά σε καθημερινές διαδικασίες ανάπτυξης. Με αυτές τις βασικές γνώσεις, μπορείτε εύκολα να πραγματοποιήσετε πολλές λειτουργίες, όπως αποθήκευση δεδομένων, καταγραφή log ή λήψη δεδομένων από εξωτερικές πηγές. Για εξάσκηση, δοκιμάστε να γράψετε μια απλή εφαρμογή σημειωματάριου!