هنگام کار با فایل ها در دایرکتوری ها در پایتون ، همیشه استفاده از مسیرهای مطلوب ایده خوبی است. با این حال ، اگر در حال کار با مسیرهای نسبی هستید ، باید مفهوم دایرکتوری فعلی کار و نحوه پیدا کردن یا تغییر فهرست کار فعلی را درک کنید. یک مسیر مطلق یک فایل یا محل دایرکتوری را با شروع از دایرکتوری root مشخص می کند ، در حالی که مسیر نسبی از دایرکتوری فعلی شروع می شود.
هنگامی که یک اسکریپت پایتون را اجرا می کنید ، دایرکتوری در حال کار فعلی به دایرکتوری ای که اسکریپت از آن اجرا می شود ، تنظیم می شود.
ماژول پایتون os یک روش قابل حمل برای تعامل با سیستم عامل را فراهم می کند. این ماژول بخشی از کتابخانه استاندارد پایتون است و شامل روش هایی برای یافتن و تغییر فهرست فعال فعلی است.
در ادامه با ما در شتابان هاست همراه باشید.
متد getcwd () ماژول os در پایتون ، رشته ای را که حاوی مسیر مطلق دایرکتوری فعلی است ، برمی گرداند. رشته برگشتی شامل کاراکتر اسلش نیست.
os.getcwd()
برای استفاده از روش های ماژول os ، باید ماژول را در بالای فایل وارد کنید.
در زیر مثالی آورده شده است که نحوه نشان دادن دایرکتوری در حال کار فعلی را نشان می دهد:
# Import the os module import os # Get the current working directory cwd = os.getcwd() # Print the current working directory print("Current working directory: {0}".format(cwd)) # Print the type of the returned object print("os.getcwd() returns an object of type: {0}".format(type(cwd)))
خروجی چیزی شبیه به این خواهد بود:
Current working directory: /home/linuxize/Desktop os.getcwd() returns an object of type: <class 'str'>
اگر می خواهید پوشه ای را که اسکریپت در آن قرار دارد پیدا کنید ، از os.path.realpath (__ file__) استفاده کنید. این یک رشته شامل مسیر مطلق به اسکریپت در حال اجرا را برمی گرداند.
برای تغییر دایرکتوری در حال کار فعلی در پایتون ، از روش () chdir استفاده کنید.
os.getcwd(path)
این روش یک آرگومان را می پذیرد ، مسیر دایرکتوری که می خواهید به آن تغییر دهید. آرگومان مسیر می تواند مطلق یا نسبی باشد.
به عنوان مثال:
# Import the os module import os # Print the current working directory print("Current working directory: {0}".format(os.getcwd())) # Change the current working directory os.chdir('/tmp') # Print the current working directory print("Current working directory: {0}".format(os.getcwd()))
خروجی چیزی شبیه به این خواهد بود:
Current working directory: /home/linuxize/Desktop Current working directory: /tmp
آرگومان ارائه شده به روش chdir () باید یک دایرکتوری باشد ، در غیر این صورت استثنا NotADirectoryError مطرح می شود. اگر فهرست مشخص شده وجود نداشته باشد ، یک استثنا FileNotFoundError مطرح می شود. اگر کاربری که تحت آن اسکریپت اجرا می شود مجوزهای لازم را ندارد ، یک استثنا exception PermissionError مطرح می شود.
# Import the os module import os path = '/var/www' try: os.chdir(path) print("Current working directory: {0}".format(os.getcwd())) except FileNotFoundError: print("Directory: {0} does not exist".format(path)) except NotADirectoryError: print("{0} is not a directory".format(path)) except PermissionError: print("You do not have permissions to change to {0}".format(path))
برای یافتن دایرکتوری در حال کار فعلی در پایتون ، از os.getcwd () و برای تغییر دایرکتوری در حال کار فعلی ، از os.chdir(path) استفاده کنید.
اگر سوال یا بازخوردی دارید ، در صورت تمایل می توانید نظر دهید.
امیدوارم این مقاله براتون مفید بوده باشه.
ما رو تو شتابان هاست دنبال کنید.