netrc --- پردازش پروندهی netrc¶
کد منبع: Lib/netrc.py
کلاس netrc قالب پرونده netrc را که برنامهی ftp در یونیکس و دیگر کلاینتهای FTP از آن استفاده میکنند، تجزیه و بستهبندی میکند.
-
class netrc.netrc([file])¶
یک نمونه از netrc یا نمونهی زیرکلاس آن، دادههای یک پرونده netrc را در بر میگیرد. آرگومان مقداردهی اولیه، در صورت وجود، پروندهای را که باید تجزیه شود مشخص میکند. اگر آرگومانی داده نشود، پرونده .netrc در پوشهی خانگی کاربر -- همانطور که os.path.expanduser() تعیین میکند -- خوانده خواهد شد. در غیر این صورت، استثنای FileNotFoundError پرتاب خواهد شد. خطاهای تجزیه، NetrcParseError را همراه با اطلاعات عیبیابی شامل نام پرونده، شماره خط و توکن خاتمهدهنده پرتاب خواهند کرد.
اگر در یک سیستم POSIX هیچ آرگومانی مشخص نشده باشد، وجود گذرواژهها در پرونده .netrc، در صورتی که مالکیت یا مجوزهای پرونده ناامن باشند (پرونده متعلق به کاربری غیر از کاربری که فرآیند را اجرا میکند باشد، یا توسط هر کاربر دیگری قابل خواندن یا نوشتن باشد)، باعث پرتاب یک NetrcParseError خواهد شد. این، رفتار امنیتی معادل رفتار ftp و سایر برنامههایی که از .netrc استفاده میکنند را پیادهسازی میکند. چنین بررسیهای امنیتی در پلتفرمهایی که از os.getuid() پشتیبانی نمیکنند، در دسترس نیستند.
تغییر یافته در نسخهی 3.4: بررسی مجوزهای POSIX افزوده شد.
تغییر یافته در نسخهی 3.7: هنگامی که file بهعنوان آرگومان ارسال نشده باشد، از os.path.expanduser() برای یافتن محل پرونده .netrc استفاده میشود.
تغییر یافته در نسخهی 3.10: netrc پیش از استفاده از کدگذاری خاصِ locale، کدگذاری UTF-8 را آزمایش میکند. ورودی پرونده netrc دیگر نیازی نیست شامل همه توکنها باشد. مقدار توکنهای ناموجود بهطور پیشفرض یک رشته خالی است. اکنون همه توکنها و مقادیرشان میتوانند شامل نویسههای دلخواه، مانند نویسههای فضای سفید و نویسههای غیر ASCII باشند. اگر نام کاربری anonymous باشد، بررسی امنیتی فعال نمیشود.
-
exception netrc.NetrcParseError¶
استثنایی که هنگام مواجهه با خطاهای سینتکسی در متن منبع، توسط کلاس netrc پرتاب میشود. نمونههای این استثنا سه ویژگی جالب ارائه میدهند:
-
msg¶
توضیح متنی خطا.
-
filename¶
نام پرونده منبع.
-
lineno¶
شمارهی سطری که خطا در آن یافت شد.
اشیاء netrc¶
نمونهای از netrc دارای متدهای زیر است:
-
netrc.authenticators(host)¶
یک تاپل سهتایی (login, account, password) از اعتبارسنجهای host برمیگرداند. اگر پرونده netrc حاوی ورودیای برای میزبان دادهشده نباشد، تاپل مرتبط با ورودی 'default' را برمیگرداند. اگر نه میزبان منطبق و نه ورودی 'default' در دسترس باشد، None را برمیگرداند.
-
netrc.__repr__()¶
دادههای کلاس را بهصورت رشتهای در قالب یک پرونده netrc برونریزی میکند. (این کار کامنتهارا را حذف میکند و ممکن است ترتیب ورودیها را تغییر دهد.)
نمونههای netrc دارای متغیرهای نمونه عمومی هستند:
-
netrc.hosts¶
دیکشنری که نامهای میزبان را به تاپلهای (login, account, password) نگاشت میکند. ورودی 'default'، در صورت وجود، بهعنوان شبهمیزبانی با همین نام نمایش داده میشود.
-
netrc.macros¶
دیکشنری که نام ماکروها را به فهرستهایی از رشتهها نگاشت میکند.
©
حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است.
مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند.
برای اطلاعات بیشتر به
تاریخچه و مجوز مراجعه کنید.
بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است.
لطفاً کمک مالی کنید.
آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC).
آیا
اشکالی یافتید؟
ساخته شده با
Sphinx 9.1.0.