Overview:
- Developing a portable program means writing a program that can be made to run on any operating system with minimal to no changes made to that program.
- The os module implements functions that interact with the operating system directly.
- Like any other modules of Python, the os module is also written adhering to the good principles of software design.
- The os module internally imports one of the required platform specific modules like posix or nt by checking the sys.builtin_module_names. If the sys.builtin_module_names contains "posix", the module posix is imported by the os module. Else, if the sys.builtin_module_names contains "nt" the module nt is imported.
- The string literal os.name, reflects this name of the operating system dependent module being imported for portability by the os module.
Example:
# Example Python program that gets the current os dependent module # Modules this Python version was built with # Name of the module internally loaded by the os module |
Output:
The modules that were built into this Python interpreter: ('_abc', '_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator', '_peg_parser', '_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc', '_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype') os module has loaded the following os dependent module: posix |