Λήψη και αλλαγή (μετακίνηση) του τρέχοντος καταλόγου στην Python

Επιχείρηση

Αυτή η ενότητα εξηγεί πώς να λαμβάνετε, να ελέγχετε και να αλλάζετε (μετακινείτε) τον κατάλογο εργασίας (τρέχοντα κατάλογο) όπου εκτελείται η Python.

Χρησιμοποιήστε την ενότητα os. Περιλαμβάνεται στην τυπική βιβλιοθήκη, οπότε δεν απαιτείται επιπλέον εγκατάσταση.

Η απόκτηση και η τροποποίηση θα εξηγηθούν αντίστοιχα.

  • Λήψη και έλεγχος του τρέχοντος καταλόγου:os.getcwd()
  • Αλλαγή (μετακίνηση) του τρέχοντος καταλόγου:os.chdir()

Η διαδρομή του αρχείου δέσμης ενεργειών (.py) που εκτελείται μπορεί να ληφθεί με την εντολή __file__.

Λήψη και έλεγχος του τρέχοντος καταλόγου: os.getcwd()

os.getcwd()
Αυτό θα επιστρέψει ως συμβολοσειρά την απόλυτη διαδρομή του καταλόγου εργασίας (τρέχοντος καταλόγου) όπου εκτελείται αυτή τη στιγμή η Python.

Μπορείτε να το ελέγξετε εκδίδοντάς το με την print().

import os

path = os.getcwd()

print(path)
# /Users/mbp/Documents/my-project/python-snippets/notebook

print(type(path))
# <class 'str'>

getcwd είναι συντομογραφία για

  • get current working directory

Παρεμπιπτόντως, η εντολή pwd του UNIX σημαίνει τα εξής.

  • print working directory

Είναι βολικό να χρησιμοποιείτε το os.path για να χειρίζεστε συμβολοσειρές διαδρομών.

Αλλαγή (μετακίνηση) του τρέχοντος καταλόγου: os.chdir()

Μπορείτε να χρησιμοποιήσετε την os.chdir() για να αλλάξετε τον κατάλογο εργασίας (τρέχοντα κατάλογο).

Καθορίστε τη διαδρομή στην οποία θα μετακινηθείτε ως όρισμα. Για τη μετακίνηση στο επόμενο επίπεδο μπορεί να χρησιμοποιηθεί είτε απόλυτη είτε σχετική διαδρομή.

  • '../'
  • '..'

Μπορείτε να μετακινήσετε και να αλλάξετε τον τρέχοντα κατάλογο με τον ίδιο τρόπο όπως η εντολή cd του UNIX.

os.chdir('../')

print(os.getcwd())
# /Users/mbp/Documents/my-project/python-snippets

Το chdir είναι συντομογραφία για τα ακόλουθα και είναι το ίδιο με το cd.

  • change directory

Για να μετακινηθείτε στον κατάλογο όπου βρίσκεται το αρχείο δέσμης ενεργειών (.py) που εκτελείτε, χρησιμοποιήστε την ακόλουθη συνάρτηση.

  • __file__
  • os.path
os.chdir(os.path.dirname(os.path.abspath(__file__)))
Copied title and URL