File Handling στην Python

 Python Οδηγός - Μάθημα 13: 📂 Εργασία με Αρχεία και Καταλόγους στην Python

Η εργασία με αρχεία και καταλόγους στην Python είναι μια από τις πιο χρήσιμες δυνατότητες που προσφέρει η γλώσσα. Μας επιτρέπει να ανοίγουμε, να διαβάζουμε, να γράφουμε, να τροποποιούμε και να διαχειριζόμαστε αρχεία και καταλόγους στον υπολογιστή μας.

Ακολουθούν οι βασικές έννοιες και συναρτήσεις για την εργασία με αρχεία και καταλόγους στην Python:

1. Άνοιγμα και Κλείσιμο Αρχείων

Για να ανοίξουμε ένα αρχείο στην Python, χρησιμοποιούμε τη συνάρτηση open(). Η σύνταξή της είναι:

file = open("όνομα_αρχείου", "mode")

Ορίσματα:

  • όνομα_αρχείου: Το όνομα του αρχείου που θέλουμε να ανοίξουμε.
  • mode: Ο τρόπος που θα ανοίξουμε το αρχείο (π.χ., ανάγνωση, εγγραφή κ.λπ.).

Οι βασικοί τρόποι (modes) είναι:

  • "r": Άνοιγμα για ανάγνωση (read) – το αρχείο πρέπει να υπάρχει.
  • "w": Άνοιγμα για εγγραφή (write) – δημιουργεί νέο αρχείο ή αντικαθιστά το υπάρχον.
  • "a": Άνοιγμα για προσθήκη (append) – προσθέτει στο τέλος του αρχείου.
  • "rb": Άνοιγμα για ανάγνωση σε δυαδική μορφή.
  • "wb": Άνοιγμα για εγγραφή σε δυαδική μορφή.

Για να κλείσουμε το αρχείο, χρησιμοποιούμε τη μέθοδο close():

file.close()

2. Ανάγνωση και Εγγραφή Αρχείων

  • Ανάγνωση Αρχείων: Για να διαβάσουμε το περιεχόμενο ενός αρχείου, μπορούμε να χρησιμοποιήσουμε:

    content = file.read()

    Αυτή η μέθοδος διαβάζει ολόκληρο το αρχείο ως μία συμβολοσειρά.

    Αν θέλουμε να διαβάσουμε το αρχείο γραμμή προς γραμμή, μπορούμε να χρησιμοποιήσουμε:

    line = file.readline()

    Εναλλακτικά, για να διαβάσουμε όλες τις γραμμές σε μια λίστα, χρησιμοποιούμε:

    lines = file.readlines()
  • Εγγραφή σε Αρχεία: Για να γράψουμε σε ένα αρχείο, χρησιμοποιούμε την write() ή writelines():

    file.write("Κάποιο κείμενο")

    ή για να γράψουμε πολλές γραμμές:

    file.writelines(["Γραμμή 1", "Γραμμή 2", "Γραμμή 3"])

3. Διαχείριση Καταλόγων

Η Python παρέχει το module os για να δουλέψουμε με αρχεία και καταλόγους.

  • Δημιουργία Καταλόγου: Χρησιμοποιούμε την mkdir() για να δημιουργήσουμε έναν νέο κατάλογο:

    import os os.mkdir("καινούργιος_κατάλογος")
  • Δημιουργία Καταλόγου με Διαδρομή: Αν θέλουμε να δημιουργήσουμε καταλόγους σε βάθος, μπορούμε να χρησιμοποιήσουμε τη makedirs():

    os.makedirs("κατάλογος/υποκατάλογος")
  • Αλλαγή Καταλόγου Εργασίας: Μπορούμε να αλλάξουμε τον τρέχοντα κατάλογο εργασίας με την chdir():

    os.chdir("κατάλογος")
  • Λίστα Αρχείων σε Κατάλογο: Για να πάρουμε μια λίστα με τα αρχεία ενός καταλόγου, χρησιμοποιούμε την listdir():

    files = os.listdir("κατάλογος")
  • Διαγραφή Αρχείων και Καταλόγων: Για να διαγράψουμε ένα αρχείο, χρησιμοποιούμε την remove():

    os.remove("αρχείο.txt")

    Για να διαγράψουμε έναν κατάλογο, χρησιμοποιούμε την rmdir():

    os.rmdir("κατάλογος")

    Αν ο κατάλογος περιέχει αρχεία ή άλλους καταλόγους, χρησιμοποιούμε την shutil.rmtree() από το module shutil:

    import shutil shutil.rmtree("κατάλογος")

4. Διαχείριση Αρχείων με το with (Context Manager)

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

with open("αρχείο.txt", "r") as file: content = file.read() print(content)

Αυτός ο τρόπος εξασφαλίζει ότι το αρχείο κλείνει σωστά όταν ολοκληρωθεί η εργασία, χωρίς να χρειάζεται να καλέσουμε την close().

Παράδειγμα Εργασίας με Αρχεία και Καταλόγους:

import os # Δημιουργία καταλόγου os.makedirs("documents/python_projects") # Δημιουργία αρχείου with open("documents/python_projects/example.txt", "w") as file: file.write("Αυτό είναι ένα παράδειγμα αρχείου!") # Ανάγνωση αρχείου with open("documents/python_projects/example.txt", "r") as file: content = file.read() print(content) # Λίστα αρχείων στον κατάλογο files = os.listdir("documents/python_projects") print(files) # Διαγραφή αρχείου os.remove("documents/python_projects/example.txt")

Με αυτά τα εργαλεία και τις τεχνικές, μπορείτε να δουλέψετε αποτελεσματικά με αρχεία και καταλόγους στην Python!

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Αυτόματο Φως Νύχτας

🚀 Διαγωνισμός Ρομποτικής & Αυτοματισμού! 🤖

🚗🤖 Φτιάξε το Δικό σου Μίνι Ρομποτικό Αυτοκίνητο με Arduino!