ویدیو آموزش ماژول os در پایتون
ماژول os (مخفف operating system) در پایتون برای کار کردن با سیستم عامل است. ماژول os یکی از پر استفاده ترین ماژول ها در پایتون است. در این ماژول بیش از 300 متد و اتریبیوت وجود دارد که میتوانید از آنها استفاده کنید. ماژول os با تمام سیستم عامل های ویندوز، لینوکس و مک سازگار است. افزونه های هر سیستم عامل نیز در ماژول os در دسترس است اما استفاده از آنها ممکن است دسترسی پذیری را دچار مشکل کند. دقت کنید که تمام توابع ماژول os در صورتی که آرگومانی به آنها ارسال کنید که مورد قبول سیستم عامل نیست خطای OSError را نمایش خواهند داد.
ماژول os به شکل استاندار در هسته اصلی پایتون قرار گرفته است و نیازی به نصب آن ندارید. فقط کافیست مستقیما آن را ایمپورت کرده و با متد dir به متدها و اتریبیوت های آن نگاهی بیندازید:
>>> import os
>>> dir(os)
# ساخت دایرکتوری با تابع mkdir
برای ساخت یک دایرکتوری جدید میتوانید از تابع mkdir ماژول os استفاده کنید. در صورتی که تابع از قبل وجود داشته باشد خطای FileExistsError
نمایش داده خواهد شد. از این تابع میتوانید در سیستم عامل های ویندوز و لینوکس استفاده کنید. سینتکس این تابع به شکل زیر است:
os.mkdir(path, mode, dir_fd)
پارامتر اول مشخص کننده مسیری است که میخواهید دایرکتوری در آن ایجاد شود. پارامتر دوم که اختیاری است دسترسی های دایرکتوری را مشخص میکند که به شکل پیشفرض مقدار Oo777
است. برای مثال نحوه ایجاد کردن یک دایرکتوری جدید در ویندوز به شکل زیر است:
>>> import os
>>> os.mkdir("c:/test/w3school")
# نمایش اطلاعات داخل دایرکتوری با تابع listdir
تابع listdir ماژول os تمام فایل های داخل دایرکتوری فعلی را لیست میکند:
>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']
همچنین میتوانید یک مسیر را به عنوان پارامتر به این تابع ارسال کنید تا فایل های داخل آن مسیر را به شما نمایش دهد.
# متوقف کردن یک پراسس با تابع abort
با استفاده از تابع abort ماژول os میتوانید یک پراسس در حال اجرا را بلافاصله خاتمه دهید. این تابع یک سیگنال SIGABRT ایجاد میکند که در یونیکس باعث ایجاد یک CORE DUMP و در ویندوز باعث ایجاد کد خروج 3 میشود. برای مثال به کد زیر دقت کنید:
>>> import os
>>> def example():
...... print("Process abort after printing this line")
...... os.abort()
...... print ("Process abort before printing this line")
>>> example()
Process abort after printing this line
# کار با متغیرهای محیطی با تابع environ
با تابع environ ماژول os میتوانید به متغیرهای محیطی سیستم عامل دسترسی پیدا کنید. برای مشاهده همه متغیرهای محیطی به شکل زیر کار کنید:
>>> import os
>>> os.environ
همچنین میتوانید به هر متغیر محیطی به شکل جداگانه دسترسی پیدا کنید. مثلا برای دسترسی به متغیر محیطی HOME میتوانید به شکل زیر کار کنید:
>>> os.environ['HOME']
در صورتی که متغیر محیطی که صدا میزنید وجود نداشته باشد با خطای KeyError
مواجه خواهید شد. برای جلوگیری از بروز خطا میتوانید از تابع get در کنار تابع environ استفاده کنید:
>>> os.environ.get('KEY_THAT_MIGHT_EXIST', default_value)
در اینصورت اگر متغیر محیطی که به دنبال آن هستید وجود نداشته باشد، مقدار پیشفرض برگشت داده خواهد شد. همچنین میتوانید از تابع getenv نیز استفاده کنید که عملکردی مشابه کد بالا دارد:
>>> os.getenvb(key, default=None)
ارسال نظر