我有以下代码,为我提供了python 2.7的正确结果,但是一旦我移植到python 3,该代码将无法正常工作。我可以在变量submodule_commit
中看到正确的结果,但它们类似于b'xxxxxxx\nyyyyyyy'
,并且拆分不再起作用。我不明白,这里哪里错了。我的期望是包含子模块的列表。
command = "git submodule status | awk '{print $1}'"
submodule_commit = subprocess.check_output(command, shell=True)
submodule_commit = submodule_commit.split('\n')
尝试改用submodule_commit.split(b'\n')
。 b'xxxxxxx\nyyyyyyy'
是一个字节字符串,并且您的拆分方法还应该将一个字节字符串输入。要将'\n'
转换为字节字符串,请改写b'\n'
。我让我知道是否可行。 :)
我将字节字符串转换为普通字符串,现在可以正常工作。
command = "git submodule status | awk '{print $1}'"
submodule_commit = subprocess.check_output(command, shell=True)
submodule_commit = str(submodule_commit, 'utf-8')
submodule_commit = submodule_commit.split('\n')