Исправлена ​​кодировка при запуске процесса в фоновом режиме с использованием подпроцесса - PullRequest
0 голосов
/ 01 мая 2019

Я хочу запустить несколько процессов ОС.Вывод этого процесса, который я направляю в файл, и каждая строка в этом файле имеет неправильный символ

, например,

for module in modules:
    module_path = os.path.join(git_dir, module.name)
    os.chdir(module_path)
    my_env = os.environ.copy()
    file_out = open("ouput.txt", "w")
    file_err = open("err.txt", "w")
    p = Popen(module.run_command,  env=my_env, stdout=file_out, stderr=file_err)

будет выдавать строку, подобную этой, в output.txt

...
[0m[[0m[0minfo[0m] [0m[0mLoading global plugins from /home/myuser/.sbt/1.0/plugins[0m
...

вместо

...
[info] Loading global plugins from /home/myuser/.sbt/1.0/plugins
...

Я не могу манипулировать строками, которые доставляются для вывода текста, из-за его обработки внутри библиотеки подпроцессов или где-то на уровне ОС.

Может кто-нибудь сказать мне, какможно это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...