چقدر با ماژول OS پایتون آشنایی دارید؟ 10 تابع پرکاربرد این ماژول همراه با مثال

ایران پایتونییرز - آموزش ماژول os
ایران پایتونییرز - آموزش ماژول os

ماژول ها یا کتابخانه ها مجموعه توابع از پیش نوشته شده ایی هستند که به ما کمک میکنند سرعت کد نویسی بیشتر شود و همچین خطا در پروژه های بزرگ کاهش بیابد. ماژول OS یکی از ماژول های داخلی پایتون میباشد که با نصب پایتون بر روی سیستم نصب میشود. این ماژول به ما کمک میکند بتوانیم با اسکریپت و نرم افزار خود، از برخی از ویژگی ها و امکانات سیستم عامل استفاده کنیم.

  • این ماژول به ما کمک میکند به اطلاعات سیستم عامل دسترسی داشته باشیم.
  • همچنین توابعی را دارا است که به ما کمک میکند با سیستم عامل تعامل داشته باشیم.
  • و همچنین به ما اجازه کار با فایل ها و فولدر ها یا دایرکتوری ها را به ما میدهد.


1-1. اضافه کردن ماژول os به برنامه

قبل از استفاده از توابع و امکانات این ماژول نیاز داریم تا کتابخانه را به پروژه خود اضافه کنیم، برای این کار، کد زیر را در ابتدای برنامه خود، یا مفسر پایتون اجرا کنید:

import os
اضافه کردن ماژول os به پروژه پایتون
اضافه کردن ماژول os به پروژه پایتون

1-2. os.name

اولین کاربردی که قصد معرفی آن را داریم متغیر os.name میباشد، این متغیر به ما کمک میکند بدانیم برنامه ما در کدام سیستم عامل در حال اجرا است؛

print(os.name)
# 'nt'
اجرای os.name در پایتون
اجرای os.name در پایتون


1-3. os.getcwd()

خروجی این تابع نسبت به سیستم عاملی که در آن پایتون در اجرا است متفاوت خواهد بود. این تابع دایرکتوری و فولدری که پایتون هم اکنون در آن در حال اجرا است را نمایش می دهد؛

print(os.getcwd())
# C:\Users\iranpythoneers\AppData\Local\Programs\Python\Python38-32


1-4. os.execvp()

این تابع کمی سطح بالاتر از بقیه توابع ماژول os میباشد. یکی از کاربرد های execvp اجرای اسکریپت ها و فایل های دیگر با استفاده کد در حال اجرا میباشد، به این معنی که بر فرض مثال شما با استفاده از برنامه خود، در صورت برقراری شرطی، میتوانید یک فایل پایتون دیگر را بصورت جداگانه اجرا کنید.

برای مثال دو برنامه در دو فایل جداگانه را در نظر بگیرید، ابتدا در فایل دوم کد زیر را کپی کنید؛

print(&quotExecution of execvp() function, by @iranpythoneers&quot)

سپس در فایل اول که فایل اصلی است کد زیر را کپی کنید؛

import os
lang = &quotpython&quot
inputs = (&quotfile2.py&quot)
print(os.execvp(lang,(lang) + inputs)

سپس اگر فایل اول را اجرا کنید، مشاهده میکنید که فایل اول، فایل دوم را در پایتون اجرا کرده و خروجی آن را print کرده است.

1-5. os.rename(source, dest)

این تابع پرکاربرد برای تغییر نام یک فایل بکار برده می شود. به اینصورت که در ورودی اول، آدرس فایل مبدا یا فعلی فایل مورد نظر را وارد میکنید، و در ورودی دوم آدرس جدید و نام جدید را وارد میکنید، برای مثال؛

os.rename(
                    'C:\Users\iranpythoneers\Desktop\osmodule.docx', 
                    'C:\Users\iranpythoneers\Desktop\osmodule_virgool_iranpythooners.docx'
)

با اجرا کد بالا، برنامه اسم فایل را از osmodule.docx به osmodule_virgool_iranpythooners.docx تغییر می دهد.

1-6. os.error

ارور هایی که ماژول os برای ما قرار میدهد اکثر ارور های مربوط به IO و کار با فایل ها میباشند، برای مثال؛

try:
    f = open('test.txt','r')
except OSError:
    print('Catched OSError in except block')

1-7. os.access(path,mode)

این تابع به ما کمک میکند تا بررسی کنیم آیا پایتون اجازه دسترسی به فولدر یا فایل خاصی را دارد یا خیر. این تابع هنگامی که فایل مورد نظر وجود داشته باشد و همچنین اجازه دسترسی به آن را داشته باشد، مقدار True و در صورتی که هیچکدام از دو شرط برقرار نباشد، مقدار False را برمیگرداند. برای اجرا و استفاده از این تابع به دو ورودی نیاز داریم، ورودی اول path میباشد که مقصد و آدرس فایل مورد نظر است، و ورودی دوم mode میباشد، یعنی این تابع کدام سطح دسترسی را بررسی کند، برای توضیح بیشتر لیست انواع mode ها را برایتان یادداشت کرده ایم؛

  • os.F_OK – Found
  • os.R_OK – Readable
  • os.W_OK – Writable
  • os.X_OK – Executable
os.access('test.txt',os.F_OK)
os.access('test.txt',os.R_OK)
os.access('test.txt',os.W_OK)
os.access('test.txt',os.X_OK)


1-8. os.getpid

در اکثر سیستم عامل از طریق ترمینال یا cmd سیستم، میتوان به شماره شناسه یا ID هر برنامه در حال اجرا یا به اصطلاح process دسترسی داشت. تابع getpid نیز همین کار میکند، با استفاده از این تابع میتوانیم ID برنامه در حال اجرا را به دست آوریم؛

os.getpid()
#162161

1-9. os.listdir(path)

این تابع یکی از توابع پرکاربرد این ماژول است، با استفاده از این تابع، میتوانیم تمام فایل ها و فولدر های موجود در یک دایرکتوری را داشته باشیم.

os.listdir(&quotC:\Users\iranpythoneers\Desktop&quot)
# ['file.txt', 'test.py', 'osmodule.docx', 'air', 'word.exe']

1-10. os.mkdir(path)

با استفاده از این تابع میتوان یه فولدر یا دایرکتوری جدید ساخت.

os.mkdir('demo')
استفاده از تابع os.mkdir
استفاده از تابع os.mkdir


سروش هستم از ایران پایتونیرز، ممنونم از وقتی که برای خوندن این پست گذاشتید.

در این مطلب سعی کردیم توضیحات کلی در مورد ماژول OS و 10 تابع پرکاربرد این کتابخانه بدیم.

برای دیدن ویدیو های آموزشی که دوستانم برای شما ساخته اند، می تونید به کانال ما در آپارات ، یوتیوب و یا تلگرام مراجعه کنید.