def about_operating_system(): """Show information about the operating system""" if parameters["Operating System"]: print("[Operating system]") print("os.name={}".format(os.name)) print("platform.system()={}".format(platform.system())) print("platform.release()={}".format(platform.release())) print("sys.platform={}".format(sys.platform)) print("sysconfig.get_platform()={}".format(sysconfig.get_platform())) print("platform.platform()={}".format(platform.platform())) print("platform.version()={}".format(platform.version())) print("platform.uname()={}".format(platform.uname())) if sys_type() == "Unix": print("os.uname().sysname={}".format(os.uname().sysname)) print("os.uname().release={}".format(os.uname().release)) print("os.uname().version={}".format(os.uname().version)) elif sys_type() == "Windows": print("sys.getwindowsversion()={}".format(sys.getwindowsversion())) print("platform.win32_ver()={}".format(platform.win32_ver())) print("platform.win32_edition()={}".format( platform.win32_edition())) print("platform.win32_is_iot()={}".format(platform.win32_is_iot())) print() if sys_type() == "Unix": print("[Operating system/Configuration]") for name in os.confstr_names: try: print("os.confstr('{}')={}".format(name, os.confstr(name))) except OSError as error: print("os.confstr('{}')={}".format(name, "Error: " + str(error))) for name in os.sysconf_names: try: print("os.sysconf('{}')={}".format(name, os.sysconf(name))) except OSError as error: print("os.sysconf('{}')={}".format(name, "Error: " + str(error))) print() print("[Operating system/Portability]") print("os.curdir={}".format(os.curdir)) print("os.pardir={}".format(os.pardir)) print("os.sep={}".format(os.sep)) print("os.altsep={}".format(os.altsep)) print("os.extsep={}".format(os.extsep)) print("os.pathsep={}".format(os.pathsep)) print("os.defpath={}".format(os.defpath)) print("os.devnull={}".format(os.devnull)) print("os.linesep={}".format(os.linesep))
class TestCase(unittest.TestCase): def test_nonexisting(self): self.assertRaises(OSError, startfile, "nonexisting.vbs") @unittest.skipIf(platform.win32_is_iot(), "starting files is not supported on Windows IoT Core or nanoserver") def test_empty(self): # We need to make sure the child process starts in a directory # we're not about to delete. If we're running under -j, that # means the test harness provided directory isn't a safe option. # See http://bugs.python.org/issue15526 for more details with os_helper.change_cwd(path.dirname(sys.executable)): empty = path.join(path.dirname(__file__), "empty.vbs") startfile(empty) startfile(empty, "open")
def test_untested_modules_can_be_imported(self): untested = ('encodings', 'formatter') with support.check_warnings(quiet=True): for name in untested: try: support.import_module('test.test_{}'.format(name)) except unittest.SkipTest: importlib.import_module(name) else: self.fail('{} has tests even though test_sundry claims ' 'otherwise'.format(name)) import distutils.bcppcompiler import distutils.ccompiler import distutils.cygwinccompiler import distutils.filelist import distutils.text_file import distutils.unixccompiler import distutils.command.bdist_dumb if sys.platform.startswith('win') and not platform.win32_is_iot(): import distutils.command.bdist_msi import distutils.command.bdist import distutils.command.bdist_rpm import distutils.command.bdist_wininst import distutils.command.build_clib import distutils.command.build_ext import distutils.command.build import distutils.command.clean import distutils.command.config import distutils.command.install_data import distutils.command.install_egg_info import distutils.command.install_headers import distutils.command.install_lib import distutils.command.register import distutils.command.sdist import distutils.command.upload import html.entities try: import tty # Not available on Windows except ImportError: if support.verbose: print("skipping tty")
#!/usr/bin/python3 import platform # Architecture print("Architecture: " + platform.architecture()[0]) # machine print("Machine: " + platform.machine()) # node print("Node: " + platform.node()) # system print("System: " + platform.system()) # Windows print("platform.win32_is_iot(): ", platform.win32_is_iot()) print("platform.win32_ver(): ", platform.win32_ver()) # processor print("platform.processor()", platform.processor())
} } if platform.system() == "Linux": VARIABLES["variables"]["linux"] = { "libc": platform.libc_ver()[0], "libc_version": platform.libc_ver()[1] } elif platform.system() == "Windows": VARIABLES["variables"]["windows"] = { "win32_release": platform.win32_ver()[0], "win32_ver": platform.win32_ver()[1], "win32_service_pack": platform.win32_ver()[2], "win32_os_type": platform.win32_ver()[3], "win32_edition": platform.win32_edition(), "win32_iot_edition": platform.win32_is_iot() } VARIABLES["constants"]["shell"]["ps_null"] = "$null" VARIABLES["constants"]["shell"]["cmd_null"] = "NUL" # On Windows alias to a reasonable default VARIABLES["constants"]["shell"]["dev_null"] = "$null" elif platform.system() == "Darwin": VARIABLES["variables"]["mac"] = { "mac_release": platform.mac_ver()[0], "mac_version": platform.mac_ver()[1][0], "mac_dev_stage": platform.mac_ver()[1][1], "mac_non_release_version": platform.mac_ver()[1][2], "mac_machine": platform.mac_ver()[2] } elif platform.system() == "Java":
"architecture": platform.architecture(), "java version": platform.java_ver(), "c standard library version": platform.libc_ver(), "machine": platform.machine(), "mac version": platform.mac_ver(), "node": platform.node(), "platform": platform.platform(), "processor": platform.processor(), "release": platform.release(), "system": platform.system(), "uname": platform.uname(), "version": platform.version(), "windows": { "edition": platform.win32_edition(), "version": platform.win32_ver(), "is iot": platform.win32_is_iot() }, "python": { "branch": platform.python_branch(), "build": platform.python_build(), "compiler": platform.python_compiler(), "implementation": platform.python_implementation(), "revision": platform.python_revision(), "version": platform.python_version() } } # convert to json format system_info = json.dumps(info, indent=4) # output the data
def update_event(self, inp=-1): self.set_output_val(0, platform.win32_is_iot())
import platform platform.platform() platform.system() platform.processor() platform.architecture() platform.machine() platform.node() platform.java_ver() platform.libc_ver() platform.python_branch() platform.python_build() platform.python_compiler() platform.python_implementation() platform.python_revision() platform.python_version() platform.python_version_tuple() platform.release() platform.system() platform.uname() platform.win32_edition() platform.win32_is_iot() platform.win32_ver()
# tuple (release, version, csd, ptype) referring to OS release, version # number, CSD level (service pack) and OS type (multi/single processor) print(platform.win32_ver()) # ('10', '10.0.19041', 'SP0', 'Multiprocessor Free') # win32_edition() # * Returns a string representing the current Windows edition print(platform.win32_edition()) # Enterprise # win32_is_iot() # * Return True if the Windows edition returned by win32_edition() is # recognized as an IoT edition print(platform.win32_is_iot()) # False ############################################################################### # Mac Platform information ############################################################################### # mac_ver() # * Get Mac OS version information and return it as tuple (release, # versioninfo, machine) with versioninfo being a tuple (version, dev_stage, # non_release_version) print(platform.mac_ver()) # ('', ('', '', ''), '')