ข้อมูลการกำหนดค่าของการติดตั้ง Python สามารถเข้าถึงได้โดยโมดูล sysconfig ตัวอย่างเช่น รายการพาธการติดตั้งและตัวแปรคอนฟิกูเรชันเฉพาะสำหรับแพลตฟอร์มการติดตั้ง
โมดูล sysconfig มีฟังก์ชันต่อไปนี้เพื่อเข้าถึงตัวแปรการกำหนดค่า
sysconfig.get_config_vars()
ไม่มีอาร์กิวเมนต์ ฟังก์ชันนี้จะส่งคืนพจนานุกรมของตัวแปรการกำหนดค่าทั้งหมดที่เกี่ยวข้องกับแพลตฟอร์มปัจจุบัน
>>> import sysconfig >>> sysconfig.get_config_vars() {'prefix': 'E:\\python37', 'exec_prefix': 'E:\\python37', 'py_version': '3.7.2', 'py_version_short': '3.7', 'py_version_nodot': '37', 'installed_base': 'E:\\python37', 'base': 'E:\\python37', 'installed_platbase': 'E:\\python37', 'platbase': 'E:\\python37', 'projectbase': 'E:\\python37', 'abiflags': '', 'LIBDEST': 'E:\\python37\\Lib', 'BINLIBDEST': 'E:\\python37\\Lib', 'INCLUDEPY': 'E:\\python37\\Include', 'EXT_SUFFIX': '.pyd', 'EXE': '.exe', 'VERSION': '37', 'BINDIR': 'E:\\python37', 'SO': '.pyd', 'userbase': 'C:\\Users\\acer\\AppData\\Roaming\\Python', 'srcdir': 'E:\\python37'}
ด้วยอาร์กิวเมนต์ ส่งคืนรายการค่าสำหรับคีย์เฉพาะ สำหรับแต่ละอาร์กิวเมนต์ หากไม่พบค่า ให้คืนค่า None
>>> sysconfig.get_config_vars('base','EXE') ['E:\\python37', '.exe']
sysconfig.get_config_var()
ฟังก์ชันนี้จะคืนค่าของชื่อตัวแปรเดียว ซึ่งเทียบเท่ากับ get_config_vars().get(name) หากไม่พบชื่อ ฟังก์ชันจะคืนค่า None
>>> sysconfig.get_config_var('VERSION') '37' >>> sysconfig.get_config_var('srcdir') 'E:\\python37'
Python ใช้รูปแบบการติดตั้งที่แตกต่างกันไปตามแพลตฟอร์มและตัวเลือกการติดตั้ง ปัจจุบันรองรับรูปแบบต่อไปนี้:
posix_prefix | แผนงานสำหรับแพลตฟอร์ม Posix เช่น Linux หรือ Mac OS X |
posix_home | แผนงานสำหรับแพลตฟอร์ม Posix ที่ใช้เมื่อใช้ตัวเลือกหลักในการติดตั้ง |
posix_user | แบบแผนสำหรับแพลตฟอร์ม Posix ที่ใช้เมื่อส่วนประกอบถูกติดตั้งผ่าน Distutils และใช้ตัวเลือกผู้ใช้ |
ไม่ | แผนงานสำหรับแพลตฟอร์ม NT เช่น Windows |
nt_user | แผนงานสำหรับแพลตฟอร์ม NT เมื่อใช้ตัวเลือกผู้ใช้ |
get_path_names()
ฟังก์ชันนี้ส่งคืนทูเพิลที่มีชื่อพาธทั้งหมดที่รองรับใน sysconfig ในปัจจุบัน
>>> sysconfig.get_path_names() ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data')
แต่ละแบบแผนประกอบด้วยเส้นทางต่างๆ ที่มีตัวระบุที่ไม่ซ้ำกัน ชื่อเส้นทางมีดังนี้:
stdlib | ไดเร็กทอรีที่มีไฟล์ไลบรารี Python มาตรฐานซึ่งไม่ใช่เฉพาะแพลตฟอร์ม |
platstdlib | ไดเร็กทอรีที่มีไฟล์ไลบรารี Python มาตรฐานเฉพาะแพลตฟอร์ม |
platlib | ไดเร็กทอรีสำหรับไฟล์เฉพาะไซต์ เฉพาะแพลตฟอร์ม |
เพียวลิบ | ไดเร็กทอรีสำหรับไฟล์เฉพาะไซต์และไม่เจาะจงแพลตฟอร์ม |
รวม | ไดเร็กทอรีสำหรับไฟล์ส่วนหัวที่ไม่เฉพาะเจาะจงของแพลตฟอร์ม |
แพลตตินั่ม | ไดเร็กทอรีสำหรับไฟล์ส่วนหัวเฉพาะแพลตฟอร์ม |
สคริปต์ | ไดเร็กทอรีสำหรับไฟล์สคริปต์ |
ข้อมูล | ไดเร็กทอรีสำหรับไฟล์ข้อมูล |
get_path()
ฟังก์ชันนี้ส่งคืนพาธการติดตั้งที่สอดคล้องกับชื่อพาธ จากรูปแบบการติดตั้งที่ชื่อโครงร่าง
>>> sysconfig.get_path('include') 'E:\\python37\\Include'
>>> sysconfig.get_platform() 'win-amd64'
get_python_version()
ฟังก์ชันนี้ส่งคืนหมายเลขเวอร์ชัน MAJOR.MINOR Python เป็นสตริง
get_platform()
ฟังก์ชันนี้ส่งคืนสตริงที่ระบุแพลตฟอร์มปัจจุบัน
ตัวแปรการกำหนดค่าและค่าต่างๆ ยังสามารถเข้าถึงได้โดยใช้โมดูล sysconfig พร้อมตัวเลือก –m
E:\python37>python -m sysconfig Platform: "win-amd64" Python version: "3.7" Current installation scheme: "nt" Paths: data = "E:\python37" include = "E:\python37\Include" platinclude = "E:\python37\Include" platlib = "E:\python37\Lib\site-packages" platstdlib = "E:\python37\Lib" purelib = "E:\python37\Lib\site-packages" scripts = "E:\python37\Scripts" stdlib = "E:\python37\Lib" Variables: BINDIR = "E:\python37" BINLIBDEST = "E:\python37\Lib" EXE = ".exe" EXT_SUFFIX = ".pyd" INCLUDEPY = "E:\python37\Include" LIBDEST = "E:\python37\Lib" SO = ".pyd" VERSION = "37" abiflags = "" base = "E:\python37" exec_prefix = "E:\python37" installed_base = "E:\python37" installed_platbase = "E:\python37" platbase = "E:\python37" prefix = "E:\python37" projectbase = "E:\python37" py_version = "3.7.2" py_version_nodot = "37" py_version_short = "3.7" srcdir = "E:\python37" userbase = "C:\Users\acer\AppData\Roaming\Python"