โมดูล pwd ในไลบรารีมาตรฐานของ Python ให้การเข้าถึงฐานข้อมูลรหัสผ่านของบัญชีผู้ใช้ในระบบปฏิบัติการ Unix/Linux รายการในฐานข้อมูลรหัสผ่านนี้ถูกสร้างเป็นวัตถุที่มีลักษณะคล้ายทูเปิล โครงสร้างของ tuple เป็นไปตามโครงสร้าง passwd โครงสร้าง pwd.h ไฟล์ใน CPython API
| ดัชนี | แอตทริบิวต์ | ความหมาย |
|---|---|---|
| 0 | pw_name | ชื่อล็อกอิน |
| 1 | pw_passwd | รหัสผ่านเข้ารหัสเสริม |
| 2 | pw_uid | รหัสผู้ใช้ที่เป็นตัวเลข |
| 3 | pw_gid | รหัสกลุ่มตัวเลข |
| 4 | pw_gecos | ชื่อผู้ใช้หรือช่องแสดงความคิดเห็น |
| 5 | pw_dir | โฮมไดเร็กทอรีของผู้ใช้ |
| 6 | pw_shell | ตัวแปลคำสั่งของผู้ใช้ |
โมดูล pwd กำหนดฟังก์ชันต่อไปนี้ -
>>> import pwd >>> dir(pwd) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'getpwall', 'getpwnam', 'getpwuid', 'struct_passwd']
getpwnam() − ฟังก์ชันนี้จะคืนค่าบันทึกในฐานข้อมูลรหัสผ่านที่ตรงกับชื่อผู้ใช้ที่ระบุ
>>> pwd.getpwnam('root')
pwd.struct_passwd(pw_name s= 'root', pw_passwd = 'x', pw_uid = 0, pw_gid = 0, pw_gecos = 'root', pw_dir = '/root', pw_shell = '/bin/bash') getpwuid() − ฟังก์ชันนี้ส่งคืนบันทึกในฐานข้อมูลรหัสผ่านที่สอดคล้องกับ UID ที่กำหนด
>>> pwd.getpwuid(0) pwd.struct_passwd(pw_name = 'root', pw_passwd = 'x', pw_uid = 0, pw_gid = 0, pw_gecos = 'root', pw_dir = '/root', pw_shell = '/bin/bash')
getpwall() − ฟังก์ชันนี้จะคืนค่ารายการของทูเพิล ทูเพิลแต่ละตัวมีข้อมูลโครงสร้าง passwd ของผู้ใช้แต่ละคน รายการ uid และ gid ในโครงสร้างเป็นจำนวนเต็ม หากไม่พบรายการที่ตรงกับพารามิเตอร์ที่ส่งผ่าน ข้อยกเว้น KeyError จะเพิ่มขึ้น
>>> pwd.getpwnam('hello')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'getpwnam(): name not found: hello'