getpass --- ورودی قابلحمل گذرواژه¶
کد منبع: Lib/getpass.py
دسترسپذیری: not WASI.
این ماژول روی WebAssembly کار نمیکند یا در دسترس نیست. برای اطلاعات بیشتر سکوهای WebAssembly را ببینید.
ماژول getpass دو تابع ارائه میدهد:
- getpass.getpass(prompt='Password: ', stream=None, *, echo_char=None)¶
از کاربر درخواست میشود گذرواژهای را بدون بازتاب وارد کند. از کاربر با استفاده از رشتهی prompt درخواست میشود، که مقدار پیشفرض آن
'Password: 'است. در یونیکس، پیام درخواست در صورت نیاز با استفاده از هندلر خطای replace به شیء شبهپرونده stream نوشته میشود. مقدار پیشفرض stream پایانهی مدیر (/dev/tty) است یا اگر آن در دسترس نباشد،sys.stderrاست (این آرگومان در ویندوز نادیده گرفته میشود).آرگومان echo_char نحوهی نمایش ورودی کاربر هنگام تایپ را کنترل میکند. اگر echo_char برابر
None(پیشفرض) باشد، ورودی مخفی میماند. در غیر این صورت، echo_char باید یک نویسهی ASCII قابلچاپ واحد باشد و هر نویسهی تایپشده با آن جایگزین میشود. برای مثال،echo_char='*'بهجای ورودی واقعی، ستارهها را نمایش میدهد.اگر ورودی بدون بازتاب در دسترس نباشد، getpass() به چاپ یک پیام هشدار در stream، خواندن از
sys.stdinو صدور یکGetPassWarningمتوسل میشود.توجه
اگر getpass را از درون IDLE فراخوانی کنید، ممکن است ورودی بهجای خود پنجره IDLE، در پایانهای که IDLE را از آن راهاندازی کردهاید انجام شود.
توجه
On Unix systems, when echo_char is set, the terminal will be configured to operate in noncanonical mode. Common terminal control characters are supported:
Ctrl+A - Move cursor to beginning of line
Ctrl+E - Move cursor to end of line
Ctrl+K - Kill (delete) from cursor to end of line
Ctrl+U - Kill (delete) entire line
Ctrl+W - Erase previous word
Ctrl+V - Insert next character literally (quote)
Backspace/DEL - Delete character before cursor
These shortcuts work by reading the terminal's configured control character mappings from termios settings.
تغییر یافته در نسخهی 3.14: پارامتر echo_char برای بازخورد صفحهکلید افزوده شد.
تغییر یافته در نسخهی 3.15: When using non-empty echo_char on Unix, keyboard shortcuts (including cursor movement and line editing) are now properly handled using the terminal's control character configuration.
- exception getpass.GetPassWarning¶
یک زیرکلاس از
UserWarningکه زمانی صادر میشود که ممکن است ورودی گذرواژه بازتاب داده شود.
- getpass.getuser()¶
«نام ورود» کاربر را برمیگرداند.
این تابع متغیرهای محیطی
LOGNAME،USER،LNAMEوUSERNAMEرا به ترتیب بررسی میکند و مقدار اولین متغیری را که به یک رشته غیرخالی تنظیم شده باشد برمیگرداند. اگر هیچکدام تنظیم نشده باشند، در سیستمهایی که از ماژولpwdپشتیبانی میکنند، نام ورود از پایگاه دادهی گذرواژه برگردانده میشود؛ در غیر این صورت، یکOSErrorپرتاب میشود.بهطور کلی، این تابع باید به
os.getlogin()ترجیح داده شود.تغییر یافته در نسخهی 3.13: پیشتر، استثناهای مختلفی علاوه بر
OSErrorنیز پرتاب میشدند.