ماژول OS در پایتون عملکردهایی را برای تعامل با سیستم عامل ارائه می دهد. ماژول OS تحت ماژول های ابزار استاندارد پایتون قرار می گیرد. این ماژول روش هایی برای استفاده از عملکرد های وابسته به سیستم عامل را ارائه می دهد. ماژول های *os* و *os.path* دارای توابع زیادی برای تعامل با سیستم فایل هستند. آموزش مرتبط = آموزش مقدماتی پایتون
مدیریت دایرکتوری فعلی
Current Working Directory (CWD) را به عنوان یک پوشه در نظر بگیرید، جایی که کد پایتون در آن در حال اجرا است. هر زمان که فایلها فقط با نامشان خوانده میشوند، پایتون فرض میکند که در همان دایرکتوری فعلی (CWD) قرار دارند، به این معنی که اگر فقط نام فایل آورده شود، تنها در صورتی موفق خواهد بود که فایل در دایرکتوری فعلی پایتون باشد.
توجه: پوشه ای که اسکریپت پایتون در آن اجرا می شود به عنوان دایرکتوری فعلی شناخته می شود. نه مسیری که اسکریپت پایتون در آن قرار دارد.
دریافت دایرکتوری جاری
برای بدست آوردن محل دایرکتوری فعلی از os.getcwd() استفاده می شود.
مثال:
خروجی:
Current working directory: /home/nikhil/Desktop/old
تغییر دایرکتوری کاری فعلی
برای تغییر دایرکتوری کاری فعلی (CWD) از متد os.chdir() استفاده می شود. این روش CWD را به یک مسیر مشخص تغییر می دهد. فقط یک آرگومان را به عنوان مسیر دایرکتوری جدید می گیرد.
توجه: دایرکتوری فعلی پوشه ای است که اسکریپت پایتون در آن کار می کند.
مثال:
Current working directory before
C:\Users\Nikhil Aggarwal\Desktop\old
Current working directory after
C:\Users\Nikhil Aggarwal\Desktop
ایجاد دایرکتوری
روش های مختلفی در ماژول OS برای ایجاد دایرکتوری وجود دارد:
- os.mkdir()
- os.makedirs()
ایجاد دایرکتوری با استفاده از os.mkdir()
متد os.mkdir() در پایتون برای ایجاد دایرکتوری با گرفتن نام مسیر مورد نظر، استفاده می شود. اگر دایرکتوری ایجاد شده از قبل وجود داشته باشد، این متد یک خطای FileExistsError در خروجی برمی گرداند.
مثال:
خروجی:
Directory 'Backendbaz' created Directory 'demos' created
ایجاد دایرکتوری با استفاده از os.makedirs()
متد os.makedirs() در پایتون برای ایجاد دایرکتوری به صورت بازگشتی استفاده می شود. این بدان معناست که در حین ساخت دایرکتوری، اگر هر دایرکتوری در مسیر دایرکتوری مورد نظر وجود نداشته باشد، متد os.makedirs () همه آنها را ایجاد می کند. مثلاً می خواهیم یک دایرکتوری به نام Project در پوشه backendbaz در درایو D ایجاد کنیم. اما در درایو D پوشه میانی یعنی backendbaz نیز وجود ندارد. با ارسال آرگومان D:/backendbaz/Project به متد os.makedirs ابتدا پوشه backendbaz و سپس پوشه Project ساخته خواهد شد.
مثال:
خروجی:
Directory 'Project' created Directory 'c' created
دریافت لیست فایل ها و دایرکتوری ها با پایتون
متد os.listdir() در پایتون برای دریافت لیست تمام فایل ها و دایرکتوری ها در دایرکتوری مشخص شده استفاده می شود. اگر هیچ دایرکتوری را مشخص نکنیم، لیست فایل ها و دایرکتوری ها در دایرکتوری فعلی برگردانده می شود.
مثال:
خروجی:
Files and directories in ' / ' : ['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr', 'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']
حذف دایرکتوری یا فایل ها با استفاده از پایتون
ماژول OS روش های مختلفی را برای حذف دایرکتوری ها و فایل ها در پایتون ارائه می دهد:
- استفاده از os.remove()
- استفاده از os.rmdir()
حذف فایل با استفاده از os.remove()
متد os.remove() در پایتون برای حذف یک فایل استفاده می شود. این روش نمی تواند دایرکتوری را حذف کند. اگر مسیر مشخص شده یک دایرکتوری باشد، خطای OSError توسط متد تولید می شود.
مثال: فرض کنید فایل های موجود در پوشه عبارتند از:
خروجی:
حذف دایرکتوری با استفاده از os.rmdir()
متد os.rmdir() در پایتون برای حذف یک دایرکتوری خالی استفاده می شود. اگر مسیر مشخص شده یک دایرکتوری خالی نباشد، خطای OSE ایجاد می شود.
مثال: فرض کنید دایرکتوری های زیر را داریم:
خروجی:
توابع رایج
1. os.name: این تابع نام ماژول وابسته به سیستم عامل وارد شده را می دهد. نامهای زیر در حال حاضر ثبت شدهاند: ‘posix’، ‘nt’، ‘os2’، ‘ce’، ‘java’ و ‘riscos’.
خروجی:
posix
توجه: ممکن است در مفسرهای مختلف خروجی متفاوتی داشته باشد.
2. os.error: همه توابع ماژول OS در هنگام دریافت نام و مسیرهای فایلی که نامعتبر یا غیرقابل دسترس هستند، یا آرگومان های دیگری که نوع داده درستی دارند، اما توسط سیستم عامل پذیرفته نمی شوند، خطای OSError ایجاد می کنند. os.error یک نام مستعار برای OSError داخلی سیستم است.
خروجی:
Problem reading: OLD.txt
3. os.rename(): یک فایل old.txt را می توان با استفاده از تابع os.rename به new.txt تغییر نام داد. نام فایل تنها در صورتی تغییر می کند که فایل موجود باشد و کاربر permision لازم برای تغییر نام فایل را داشته باشد.
4. os.path.exists(): این متد با ارسال نام فایل به عنوان پارامتر بررسی می کند که آیا فایلی وجود دارد یا خیر. ماژول OS دارای یک ماژول فرعی به نام PATH است که با استفاده از آن می توانیم عملکردهای بیشتری را انجام دهیم.
خروجی
False
همانطور که در کد بالا، فایل وجود ندارد، خروجی False می دهد. اگر فایل موجود باشد خروجی True را به ما می دهد.
مقاله مرتبط: ماژول path در پایتون
5. os.path.getsize(): این متد پایتون اندازه فایل را بر حسب بایت به ما می دهد. برای استفاده از این متد باید نام فایل را به عنوان پارامتر ارسال کنیم.
خروجی:
Size of the file is 192 bytes.
دیدگاهها