Вот другой способ сделать его со сценарием WHS:
Set objWMIService = GetObject("Winmgmts:root\cimv2")
For Each objComputer in _
objWMIService.InstancesOf("Win32_ComputerSystem")
objComputer.rename "NewComputerName", NULL, NULL
Next
Вдохновленный ответом @jfs, я предложил это решение:
def make_wide(formatter, w=120, h=36):
"""Return a wider HelpFormatter, if possible."""
try:
# https://stackoverflow.com/a/5464440
# beware: "Only the name of this class is considered a public API."
kwargs = {'width': w, 'max_help_position': h}
formatter(None, **kwargs)
return lambda prog: formatter(prog, **kwargs)
except TypeError:
warnings.warn("argparse help formatter failed, falling back.")
return formatter
Наличие, что, можно назвать его с любым HelpFormatter
, что Вам нравится:
parser = argparse.ArgumentParser(
formatter_class=make_wide(argparse.ArgumentDefaultsHelpFormatter)
)
или
parser = argparse.ArgumentParser(
formatter_class=make_wide(argparse.HelpFormatter, w=140, h=20)
)
то, Что это делает, удостоверяются, что более широкое средство форматирования может на самом деле быть создано с помощью width
и max_help_position
аргументы. Если частный API изменяется, который отмечен make_wide
TypeError
, и средство форматирования возвращается неизменное. Это должно сделать код более надежным для развертываемых приложений.
я приветствовал бы любые предложения для создания этого большим количеством pythonic.