о версиях скуль сервера в один файл. кусок кода работает правильно привыводе на консоль: сначала один сервер, затем другой. как только я пытаюсь сделать вывод в файл, пишется информация только с одного сервера. данные для sqlcmd находятся в разных файликах со словарями. что я делаю не так в куске кода при записи в файл?
# gettin versions def getVersion(dictname): output_versions = 'output_ver.txt' # Saving the reference of the standard output original_stdout = sys.stdout with open(output_versions, 'w') as output: sys.stdout = output try: print_subprocess = subprocess.run([dictname["sqlcmd"],'-S', dictname["host"],'-U', dictname["user"],'-P', dictname["passwd"], '-Q', dictname["version"], '-W', '-h-1', '-s,'], capture_output=True, text=True, check=True) except subprocess.CalledProcessError as e: print(e.returncode) print(e.stderr) else: print(print_subprocess.stdout) # Reset the standard output sys.stdout = original_stdout getVersion(stsit) getVersion(devcast)
догадывалась, как этого избежать?
Открыть с другим параметром. У тебя сейчас w
Кстати. Как правильно называется, параметр или аргумент?
а зачем танцы с sys.stdout?
я пробовла разные варианты
если это декларация, то параметр, передаёшь ты аргументы
попробуй аргументов в run передать stdout = output
декларация = объявление?
да, definition
Обсуждают сегодня