0

我有一个使用 python3 管理 mpc 命令的脚本。我使用 subprocess.check_output 来获取信息:

s = (subprocess.check_output("mpc current -f %title%", shell=True,encoding = 'utf-8'))

这很好用,并给了我作为字符串的值。

尝试为脚本安装服务失败并出现以下错误:

File "/usr/lib/python2.7/subprocess.py", line 216, in check_output
 process = Popen(stdout=PIPE, *popenargs, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'encoding'

使用“text = true”而不是“encoding = 'utf8'”的相同结果(工作脚本,失败的服务)。

为什么子进程使用python2.7而不是python3?在我有的脚本的第二行

# -*- coding: utf-8 -*-

Python 的版本是 3.7.3

4

0 回答 0