از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
مسیر Root Project Directory Path را در پایتون دریافت کنید
سرفصلهای مطلب
معرفی
هنگام کار با پایتون، ممکن است نیاز به دسترسی به فایلهایی داشته باشید که در مکانهای مختلفی در فهرست پروژه شما قرار دارند. یکی از سناریوهای رایج زمانی است که به عنوان مثال نیاز به خواندن یا نوشتن داده ها در فایلی دارید که در فهرست اصلی پروژه شما قرار دارد.
در این بایت، ما نشان خواهیم داد که چگونه میتوانید مسیر دایرکتوری پروژه ریشه را در پایتون بازیابی کنید، که به شما امکان میدهد به راحتی به فایلهای موجود در فهرست اصلی خود دسترسی داشته باشید و آنها را دستکاری کنید.
دریافت مسیر دایرکتوری پروژه ریشه
برای بازیابی مسیر دایرکتوری پروژه ریشه، پایتون این را فراهم می کند os
ماژول، که شامل توابعی برای تعامل با سیستم عامل است. از جمله این توابع است os.getcwd()
، که مسیر دایرکتوری کاری فعلی را برمی گرداند. این دایرکتوری است که اسکریپت شما از آنجا اجرا می شود.
در اینجا مثالی از روش استفاده از آن آورده شده است:
import os
cwd = os.getcwd()
print(cwd)
وقتی این اسکریپت را اجرا می کنید، مسیر دایرکتوری فعلی شما را چاپ می کند.
$ python3 get_cwd.py
/Users/username/Projects/my_python_project
توجه داشته باشید: دایرکتوری فعلی ممکن است همیشه دایرکتوری اصلی پروژه نباشد، به خصوص اگر اسکریپت را از زیر شاخه پروژه خود اجرا می کنید.
دسترسی به فایل ها در دایرکتوری ریشه
هنگامی که مسیر دایرکتوری پروژه ریشه خود را پیدا کردید، می توانید از آن برای دسترسی به فایل های این دایرکتوری استفاده کنید. به عنوان مثال، اگر فایلی به نام دارید data.txt
در دایرکتوری ریشه خود، می توانید آن را به صورت زیر باز کرده و استفاده کنید:
import os
cwd = os.getcwd()
with open(os.path.join(cwd, 'data.txt'), 'r') as file:
data = file.read()
print(data)
این اسکریپت محتویات را می خواند data.txt
و آن را در console. بخش مهم این فیلمنامه تنها نیست os.getcwd()
، اما همچنین os.path.join(cwd, 'data.txt')
، که در این مورد مسیر کامل فایلی را که می خواهید به آن دسترسی پیدا کنید ایجاد می کند.
استفاده کردن pathlib.Path برای مسیر دایرکتوری ریشه
پایتون 3.4 را معرفی کرد pathlib
ماژول، که بیشتر یک رویکرد شی گرا برای برخورد با مسیرها دارد. برای دریافت مسیر دایرکتوری پروژه ریشه با استفاده از pathlib
، می توانید از Path.cwd()
روش:
from pathlib import Path
cwd = Path.cwd()
print(cwd)
درست مثل os.getcwd()
، Path.cwd()
مسیر دایرکتوری کاری فعلی را برمی گرداند. با این حال، a را برمی گرداند Path
هدف – شی، که سپس می توانید از آن برای انجام عملیات های مختلف مرتبط با مسیر استفاده کنید.
به عنوان مثال، برای باز کردن یک فایل در پوشه اصلی، می توانید از /
اپراتور برای پیوستن به مسیرها:
from pathlib import Path
cwd = Path.cwd()
with open(cwd / 'data.txt', 'r') as file:
data = file.read()
print(data)
این اسکریپت همان کار قبلی را انجام می دهد، اما از آن استفاده می کند pathlib
برای مدیریت مسیرها، که می تواند کد شما را تمیزتر و خواناتر کند.
توجه داشته باشید: را /
اپراتور توسط Path
شیء مورد استفاده برای الحاق مسیر، نه تقسیم. بنابراین اگر cwd
رشته بود '/path/to/my/dir'
، سپس cwd / 'data.txt'
منجر خواهد شد '/path/to/my/dir/data.txt'
.
بازیابی پویا پوشه پروژه ریشه
در پایتون، میتوانید بهصورت پویا مسیر دایرکتوری پروژه ریشه را با استفاده از بازیابی کنید os
مدول. این ماژول یک روش قابل حمل برای استفاده از عملکرد وابسته به سیستم عامل را ارائه می دهد. را os.path
ماژول برخی از توابع مفید را پیاده سازی می کند روی نام های مسیر
در اینجا یک راه ساده برای تعیین پویا مسیر دایرکتوری پروژه ریشه وجود دارد:
import os
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
print(ROOT_DIR)
وقتی این اسکریپت را اجرا می کنید، مسیر مطلق دایرکتوری اسکریپت در حال اجرا را خروجی می دهد. در این مورد، __file__
یک متغیر داخلی پایتون است که مسیری را که اسکریپت از آنجا اجرا می شود را خروجی می دهد.
استفاده کردن os.curdir برای دایرکتوری ریشه
راه دیگر برای یافتن مسیر دایرکتوری ریشه استفاده از آن است os.curdir
، که رشته ثابت مورد استفاده توسط سیستم عامل برای ارجاع به دایرکتوری فعلی را برمی گرداند. این هست ‘.’ برای سیستم های ویندوز و POSIX.
در اینجا یک قطعه کد نمونه است:
import os
ROOT_DIR = os.path.abspath(os.curdir)
print(ROOT_DIR)
اجرای این اسکریپت مسیر مطلق دایرکتوری فعلی را خروجی می دهد.
توجه داشته باشید: به خاطر داشته باشید که دایرکتوری فعلی همان است دایرکتوری که اسکریپت از آن اجرا می شود، نه لزوما دایرکتوری که اسکریپت در آن واقع شده است.
در حال وارد کردن متغیر ROOT_DIR
در پروژه های بزرگتر پایتون، معمول است import را ROOT_DIR
متغیر از یک مکان مرکزی این اجازه می دهد تا همه ماژول های پروژه شما به مسیر دایرکتوری ریشه دسترسی داشته باشند.
با فرض اینکه شما تعریف کرده اید ROOT_DIR
در فایلی به نام settings.py
، تو می توانی import به این صورت است:
from settings import ROOT_DIR
اکنون، ROOT_DIR
می تواند در هر نقطه از ماژول که در آن وارد شده است استفاده شود.
نتیجه
در این بایت، راههای مختلفی را برای تعیین مسیر دایرکتوری پروژه ریشه در پایتون بررسی کردهایم. ما روش بازیابی پویا مسیر دایرکتوری پروژه ریشه را با استفاده از os
ماژول، اهرم os.curdir
برای دایرکتوری ریشه، و import را ROOT_DIR
متغیر.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-29 23:36:06