برنامه نویسیپایتون

آموزش کتابخانه os در پایتون

آموزش کتابخانه os در پایتون

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

شروع کار با OS در پایتون

این کتابخانه از توابع و Attribute های متعددی ساخته شده است که هر کدام فرآیند خاصی را برعهده دارند و ما در این مقاله کاربردی ترین آنها را باهم بررسی میکنیم.

ابتدا برای شروع کار با OS آن را در محیط مفسر پایتون Import میکنیم.

import os

درصورتی که اروری مبنی بر وجود نداشتن این کتابخانه دریافت کردید آن را به واسطه دستور زیر نصب نمایید.

pip3 install os

برای شروع کار از یک تابع تحت عنوان os.getcwd استفاده میکنیم که محل Directory فعلی ما را در خروجی نمایش میدهد.

import os
cwd = os.getcwd()
print("Current working directory:", cwd)

خروجی کد بالا پس از اجرا :

Current working directory: /home/kaliboys/Desktop/os

حالا زمانی که قصد داشته باشیم از دایرکتوری فعلی خارج شده و یا تغییر مکان داشته باشیم باید از تابعی تحت عنوان os.chdir() استفاده نمایم.

import os

def current_path():
    print("Current working directory before")
    print(os.getcwd())
    print()
current_path()
os.chdir('../')
current_path()

در مثال بالا ابتدا یک تابع تحت عنوان current_path ساخته شده است و درون آن یک کد مبنی بر نمایش Directory فعلی ما میباشد. در خارج از تابع، به واسطه os.chdir() یک‌ Directory به عقب برمیگردیم و دوباره تابع را اجرا میکنیم و میبینیم خروجی تغییر کرده است و یک Directory به عقب آمده اییم.

ساخت Directory به واسطه OS در پایتون

در این‌ Module دو تابع متنوع برای ایجاد Directory با نام های زیر وجود دارد:

  • os.mkdir()
  • os.makedirs()

به واسطه تابع os.mkdir() ما به راحتی میتوانیم مشابه دستور mkdir در لینوکس عمل کنیم که برای ما یک Directory با نام دلخواه ایجاد میکند و به همین سبب ما قصد داریم دو Directory را به واسطه این تابع ایجاد کنیم.

import os

directory = "kali"

parent_dir = "D:/Pycharm projects/"

path = os.path.join(parent_dir, directory)

os.mkdir(path)

print("Directory '% s' created" % directory)

directory = "boys"

parent_dir = "D:/Pycharm projects"

mode = 0o666

path = os.path.join(parent_dir, directory)

os.mkdir(path, mode)

print("Directory '% s' created" % directory

خروجی:

Directory 'kali` created
Directory 'boys' created

نمایش Directory ها و فایل ها به واسطه OS

یکی از دیگر توابع پرکاربرد در OS تابع os.listdir() میباشد که میتواند با دریافت یک Path از ما تمامی Directory ها و فایل های درون آن مسیر را نمایش بدهد.

import os

path = "/"

dir_list = os.listdir(path)

print("Files and directories in '", path, "' :")

print(dir_list)

خروجی:

Files and directories in ' / ' :
['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr',
'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']

حذف فایل ها و Directory ها به واسطه OS

ما دو تابع متنوع در OS برای اینکار داریم که عبارتند از:

  • os.remove()
  • os.rmdir()

به واسطه os.remove() میتوانیم یک فایل را در مسیر خاص و با وارد کردن نام و مسیر آن حذف کنیم. نکته ای که باید به آن توجه کنید این است که به واسطه این روش میتوانیم فایل ها را حذف کنیم و نه Directory ها را.

import os

file = 'file1.txt'

location = "D:/Pycharm projects/KaliBoys/Authors/Nikhil/"

path = os.path.join(location, file)

os.remove(path)
e)

کد بالا خروجی خاصی ندارد.

اگر قصد داشته باشیم یک‌ Directory خاصی را حذف کنیم باید به سراغ rmdir() برویم و به واسطه آن یک Directory را پاک کنیم. نکته ایی که باید به آن توجه کنید این است که اگر مسیر داده شده یک فهرست باشد به شما OSError برمیگرداند‌.

import os

directory = "Kali"

parent = "D:/Pycharm projects/"

path = os.path.join(parent, directory)

os.rmdir(path)

کد بالا خروجی خاصی ندارد.

به دست آوردن اطلاعات سیستم به واسطه OS

درصورتی که شما قصد داشته باشید به واسطه این کتابخانه اطلاعات مختصری در رابطه با سیستم عامل به دست آورید میتوانید از os.uname() استفاده نمایید.

Import os
print(os.uname())

اجرای دستورات بر روی سیستم به واسطه OS

یکی از قابلیت های پر استفاده در OS این میباشد که ما میتوانیم دستورات متنوعی را مستقیما بر روی سیستم اجرا کنیم و اینکار به واسطه os.system() انجام میشود.

برای مثال ما قصد داریم دستور ls را بر روی یک سیستم اجرا کنیم.

Import os
os.system("ls")

به دست آوردن متغیر های محیطی به واسطه OS

تابعی در OS وجود دارد که میتواند تمامی متغیر های محیطی سیستم را برای ما نمایش دهد.

import os
print (list(os.environ))

موفق و پیروز باشید.

بیشتر بخوانید: بهترین کتاب ها برای آموزش پایتون

امیرحسین تنگسیری نژاد

کارشناس مشاور و مدرس شبکه و امنیت شبکه, حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند EndPoint Security, PenTest ,Forensic و SoC فعالیت داشته و دارم

یک دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا