כיצד להשיג את מדריך העבודה הנוכחי ב- Python

How Get Current Working Directory Python



ניתן להשתמש בשם הקובץ או התיקיה עם הנתיב המלא או רק להזכיר את שם הקובץ או התיקיה רק ​​כדי להשתמש בו בתסריט. הנתיב המלא של קובץ או תיקיה מספריית השורש מצוין בנתיב מוחלט. כאשר שם הקובץ משמש ללא שם הנתיב בתסריט, מדריך העבודה הנוכחי נחשב כשם הנתיב של הקובץ ונקרא הנתיב היחסי. ב- Python, מדריך העבודה הנוכחי מוגדר למיקום הספרייה שממנו מבוצע סקריפט ה- Python. מודולים רבים קיימים בפייתון כדי לקבל את מדריך העבודה הנוכחי. הדרכים לאחזור מדריך העבודה הנוכחי באמצעות מודולים שונים ב- Python הראו במדריך זה.

דוגמה 1: שימוש במודול pathlib לקבלת מדריך העבודה הנוכחי

מחלקת הנתיבים של מודול pathlib משמש לקריאת ספריית העבודה הנוכחית של סקריפט ההפעלה. צור סקריפט פייתון עם הקוד הבא כדי לקרוא ולהדפיס את ספריית העבודה הנוכחית באמצעות מודול pathlib. ה שיטת cwd () במחלקת Path משמשים להדפסת ספריית העבודה הנוכחית ממנה מתבצעת התסריט.







# ייבא את הנתיב ממודול pathlib

מpathlibיְבוּאנָתִיב

# אחזר את הנתיב של ספריית העבודה הנוכחית

מדריך_עבודה_עובד=נָתִיב.cwd()

# הדפס את המיקום של ספריית העבודה הנוכחית

הדפס('המיקום של ספריית העבודה הנוכחית הוא:')

הדפס(מדריך_עבודה_עובד)

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע התסריט לעיל. כאן, הנתיב של ספריית העבודה הנוכחית ללא שם התסריט הוצג בפלט.





דוגמה 2: שימוש ב- normpath () ו- abspath () כדי לקבל את מדריך העבודה הנוכחי

שימוש במודול מערכת ההפעלה היא דרך נוספת לאחזר את ספריית העבודה הנוכחית. קיימות שיטות שונות במחלקת הנתיבים של מודול ה- OS לאחזור ספריית העבודה הנוכחית. הנורמפת () ו שיטות abspath () הם שניהם. שיטות אלה מחזירות את ספריית העבודה הנוכחית כמחרוזת. צור קובץ פייתון עם הסקריפט הבא כדי לבדוק את מטרות הפונקציות הללו.





# ייבוא ​​מודול מערכת ההפעלה

יְבוּא אתה

# הדפס את ספריית העבודה הנוכחית באמצעות הפונקציה normpath ()

הדפס('ספריית העבודה הנוכחית (באמצעות normpath ()) היא:')

הדפס(אתה.נָתִיב.שם הדירוג(אתה.נָתִיב.נורמפת(__קוֹבֶץ__)))

# הדפס את ספריית העבודה הנוכחית באמצעות הפונקציה abspath ()

הדפס(' nספריית העבודה הנוכחית (באמצעות abspath ()) היא: ')

הדפס(אתה.נָתִיב.abspath('.'))

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע התסריט לעיל. כאן, הנתיב של ספריית העבודה הנוכחית ללא שם התסריט הוצג בפלט.



דוגמה 3: שימוש ב- realpath () כדי לקבל את מדריך העבודה הנוכחי

ה נתיב ריאל () היא שיטה נוספת לאחזור ספריית העבודה הנוכחית. צור קובץ פייתון עם הסקריפט הבא להדפסת ספריית העבודה הנוכחית עם שם הסקריפט באמצעות שיטת realpath () . בתסריט, זה לוקח את __קוֹבֶץ__ כערך הארגומנט המכיל את שם הנתיב של הקובץ בו מיובא מודול ההפעלה.

# ייבוא ​​מודול מערכת ההפעלה

יְבוּא אתה

# קרא את ספריית העבודה הנוכחית באמצעות הפונקציה realpath ()

נתיב אמיתי= אתה.נָתִיב.נתיב אמיתי(__קוֹבֶץ__)

# הדפס את ספריית העבודה הנוכחית עם שם התסריט

הדפס(' nספריית העבודה הנוכחית עם שם התסריט היא: ')

הדפס(נתיב אמיתי)

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע התסריט לעיל. כאן, הנתיב של ספריית העבודה הנוכחית עם שם התסריט הוצג בפלט.

דוגמה 4: שימוש ב- getcwd () לקבלת מדריך העבודה הנוכחי

משתמש ב הפונקציה getcwd () של מודול ה- OS היא הדרך הפשוטה ביותר לאחזר את ספריית העבודה הנוכחית של סקריפט ההפעלה. הוא אינו מכיל כל טיעון ומחזיר את ה- CWD כמחרוזת. צור קובץ פייתון עם הסקריפט הבא כדי לבדוק את השימוש ב- הפונקציה getcwd () . ספריית העבודה הנוכחית מודפסת בתחילת התסריט. לאחר מכן, נתיב הספרייה הנוכחי משתנה באמצעות הפונקציה chdir () . ה הפקודה getcwd () נקרא שוב לאחר שינוי הספרייה.

# ייבוא ​​מודול מערכת ההפעלה

יְבוּא אתה

# הדפס את ספריית העבודה הנוכחית באמצעות הפונקציה getcwd ()

הדפס('ספריית העבודה הנוכחית היא: n', אתה.getcwd())

# שנה את ספריית העבודה הנוכחית

אתה.chdir(' / etc / mail')

# הדפס את ספריית העבודה הנוכחית לאחר השינוי

הדפס(' nספריית העבודה הנוכחית לאחר השינוי היא: n', אתה.getcwd())

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע התסריט לעיל. כאן, נתיב מדריך העבודה הנוכחי ללא שם התסריט הודפס לפני שינוי הספרייה. לאחר מכן, נתיב הספרייה שהשתנה הודפס.

דוגמה 5: שימוש ב- getcwd () עם try-except כדי לקבל את מדריך העבודה הנוכחי

צור קובץ פייתון עם הסקריפט הבא כדי לשנות את ספריית העבודה הנוכחית בהתבסס על ערך הקלט ולטפל בשגיאות מסוגים שונים. ניתן לטפל בשלושה סוגי שגיאות על ידי ביצוע התסריט. ה שגיאת FileNotFoundError ייווצר אם הנתיב שנלקח מהקלט אינו קיים. ה שגיאת NotADirectoryError ייווצר אם הנתיב שנלקח מהקלט אינו מדריך. ה שגיאת הרשאה ייווצר אם הנתיב שנלקח מהקלט אינו נגיש.

# ייבא את מודול מערכת ההפעלה

יְבוּא אתה

# הזן את נתיב הספרייה

cwd= קֶלֶט('הזן את הנתיב של ספריית העבודה הנוכחית: n')


לְנַסוֹת:

# שנה את ספריית העבודה הנוכחית

אתה.chdir(cwd)

# הדפס את ספריית העבודה הנוכחית באמצעות הפונקציה getcwd ()

הדפס('ספריית העבודה הנוכחית היא: n', אתה.getcwd())

# העלה שגיאה אם ​​הספרייה אינה קיימת

מלבדFileNotFoundError:

הדפס('מדריך לא קיים.')

# העלה שגיאה אם ​​נתיב הקלט אינו מדריך

מלבדNotADirectoryError:

הדפס('%s אינו מדריך'%(cwd))

# העלה שגיאה אם ​​הספרייה אינה נגישה

מלבדהרשאה שגיאה:

הדפס('ניתנה הרשאה לשנות את הספרייה.')

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע התסריט לעיל אם הנתיב קיים. כאן קיים נתיב הקלט שנלקח, וספריית העבודה שהשתנתה הודפסה בפלט.


הפלט הבא יופיע לאחר ביצוע התסריט לעיל אם הנתיב אינו קיים.


הפלט הבא יופיע לאחר ביצוע התסריט לעיל אם הנתיב שנלקח אינו נגיש.

סיכום:

השימוש במודולי pathlib ו- os לקריאת ספריית העבודה הנוכחית מוצג במדריך זה באמצעות דוגמאות שונות. הדרך לאחזור ספריית העבודה הנוכחית לאחר שינוי ספריית העבודה הנוכחית המבוססת על קלט משתמשים הוצגה גם במדריך זה.