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

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

1. נסה וחוץ מהצהרות

ה נסה ולבד הצהרה בודקת פקודה ומייצר פלט. בקוד להלן, ה- לְנַסוֹת הצהרה תנסה לפתוח קובץ (testfile.txt). אם המעבד של פייתון מצליח לאתר את הקובץ, הוא יפתח את הקובץ וידפיס את התוצאה הקובץ פתוח וזמין לשימוש.

לְנַסוֹת:
f = open ('testfile.txt')
print ("הקובץ זמין לשימוש")
f.close ()
למעט IOError:
print ('הקובץ אינו נגיש')

אם היא נתקלת בשגיאה, היא תדפיס את התוצאה הקובץ אינו נגיש. לאחר שנאסף והופעל הקוד המלא, הוא יסגור את הקובץ הפתוח אם הוא נפתח.

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

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

2. קובץ Os.path.is (נתיב)

instagram viewer

ל- Python מערכת הפעלה מודולה מובנית שניתן לקרוא לה לתקשר עם הקבצים, התיקיות והספריות הבסיסיות. של פייתון os.path.isfile () ניתן להשתמש בשיטה כדי לבדוק ספרייה ואם קיים קובץ ספציפי.

השלב הראשון הוא לייבא את הפונקציה המובנית באמצעות ייבא os.path סִפְרִיָה. הפקודה הבאה בודקת אם הקובץ קיים במיקום הספציפי.

ייבא os.path
os.path.isfile (r "קובץ הבדיקה C: \ Users \ Wini Bhalla \ Desktop \ Python.txt")

הפלט חוזר נָכוֹן, מכיוון שהקובץ קיים במיקום הספציפי. אם הקובץ אינו קיים, פייתון יחזור שֶׁקֶר.

3. Os.path.exists (נתיב)

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

התחביר די פשוט:

ייבא os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

בדיוק כמו השלב הקודם, אם הספרייה/התיקיה נמצאת בנתיב המערכת שצוין, פייתון חוזר נָכוֹן, ובהמשך, שֶׁקֶר, אם הספרייה/התיקיה לא נמצאה.

קָשׁוּר: לומדים פייתון? להלן כיצד להעתיק קובץ

4. Os. נָתִיב. Isdir (נתיב)

בדיוק כמו קובץ os.path.is ו os.path.exists (), os.path.isdir () היא תת פונקציה של ספריית מערכת ההפעלה. ההבדל היחיד כאן הוא שפקודה זו פועלת רק עבור ספריות. כצפוי, השימוש בתחביר זה מחזיר ערך בוליאני המבוסס על קיומם של ספריות.

לדוגמה:

ייבוא ​​מערכת הפעלה
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

הפלט הוא נָכוֹן, מכיוון שהתיקייה/הספרייה קיימת בנתיב שצוין.

ייבוא ​​מערכת הפעלה
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

הפלט הוא שֶׁקֶר, מכיוון שהתיקייה/הספרייה אינה קיימת בנתיב שצוין.

5. Pathlib.path.exists ()

גרסאות Python 3.4 ומעלה מציעות את Pathlib מודול, שניתן לייבא באמצעות יְבוּא פוּנקצִיָה. Pathlib לוכד את הפונקציונליות הדרושות במקום אחד, והופך אותו לזמין בשיטות שונות לשימוש עם אובייקט הנתיב.

כדי להשתמש ב- Pathlib:

יבוא pathlib
file = pathlib. נתיב (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
אם file.exists ():
print ("הקובץ קיים")
אַחֵר:
print ("הקובץ אינו קיים")

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

6. Os.listdir (נתיב)

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

ה listdir השיטה מקבלת רק פרמטר אחד, נתיב הקובץ. באופן אידיאלי, נתיב הקבצים יהיה שמות קבצים ותיקיות שברצונך לאחזר.

התחביר הבסיסי כולל:

os.listdir (נתיב)

בדוגמה למטה, תוכל ליצור לולאה כדי לעבור על כל הקבצים המופיעים בספרייה ולאחר מכן לבדוק אם קיים הקובץ שצוין עם אם הַצהָרָה.

ייבוא ​​מערכת הפעלה
path = r'C: \ Users \ Wini Bhalla \ Desktop '
קבצים = os.listdir (נתיב)
הדפסה (קבצים)

קוד זה ידפיס את רשימת הקבצים הזמינים בספרייה הנוכחית.

ייבוא ​​מערכת הפעלה
path = r'C: \ Users \ Wini Bhalla \ Desktop 'files = os.listdir (נתיב)
עבור f בקבצים:
אם f == "test.txt":
print ("הקובץ קיים")
אַחֵר:
print ("הקובץ אינו קיים")

בהמשך, כאשר הלולאה מופעלת, listdir לתפקד יחד עם אם ההיגיון של הצהרת יחזור ברשימת הקבצים וידפיס את התוצאות, בהתאם לתנאים שהועברו בתוך הדפס הַצהָרָה.

קָשׁוּר: השתמש בלולאות עם רשימות ב- Python

7. מודול גלוב

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

ישנן שתי הפניות לנתיב:

  • מסלול מוחלט: השתמש בזה כאשר אתה רוצה לחפש קובץ בספרייה אחרת.
  • מסלול יחסי: השתמש בזה כאשר אתה רוצה לחפש קובץ בספרייה הנוכחית.

אם הקובץ נמצא, הקוד יחזור נָכוֹן, אחרת זה יחזור שֶׁקֶר.

דוגמה לשימוש של גלוב:

יבוא גלוב
אם glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("קיים קובץ")
אַחֵר:
print ("הקובץ אינו קיים")

הפלט מקוד זה ידפיס את התוצאה, אם הקובץ נמצא.

8. תת-תהליך

פקודת הבדיקה במודול תהליך התהליך היא דרך יעילה לבדיקת קיומם של קבצים וספריות. פקודות הבדיקה פועלות רק במכונות מבוססות יוניקס ולא במכונות מערכת הפעלה מבוססות Windows.

תוכל להשתמש בפקודות הבאות בהתאם לצרכיך:

  • מבחן -e: בדוק את קיומו של שביל
  • מבחן -f: בדוק את קיומו של קובץ
  • מבחן-ד: בדוק את קיומה של תיקיה

אימות נתיב באמצעות תהליך משנה:

מהפעלת ייבוא ​​תת -תהליכים
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0

קוד זה נקרא פונקציית הבדיקה ואחריה '-e' לאמת את קיומו של נתיב. הפונקציה מראה שֶׁקֶר לנתיב לא חוקי.

אימות קובץ באמצעות תהליך משנה:

run (['test', '-f', 'testfile.txt']). returncode == 0
run (['test', '-f', 'testdirectory']). returncode == 0

ה '-f' פונקציה בודקת את קיומו של קובץ ומחזירה שֶׁקֶר עבור ספרייה.

אימות מדריך עם תהליך משנה:

run (['test', '-d', 'testfile.txt']). returncode == 0
run (['test', '-d', 'testdirectory']). returncode == 0

ה '-d' פונקציה בודקת את קיומה של ספרייה ומחזירה שֶׁקֶר עבור כל שאילתת קבצים בפקודת הבדיקה.

באיזו פקודה תשתמש כדי לאתר את הקבצים שלך?

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

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

לַחֲלוֹקצִיוּץאימייל
מה עושה פייתון ולמה הוא יכול לשמש?

Python הוא מאוד תכליתי, עם יישומים החל מפיתוח אתרים ועד ניתוח נתונים.

קרא הבא

נושאים קשורים
  • תִכנוּת
  • פִּיתוֹן
  • טיפים לקידוד
על הסופר
ויני בהלה (41 מאמרים פורסמו)

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

עוד מאת וויני בהלה

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה