修剪 python 中的字符串 3

trimming strings in python 3

我有这个函数来获取文件类型:

def get_file_type():
try:
    cmd = ['/usr/bin/file', '/home/user']
    p = Popen(cmd, stdout=PIPE).communicate()[0]
    p = str(p).split(':')[1:]
    if len(p) > 1:
        ' : '.join(p).strip().replace('\n', '')
    else:
        p = p[0].strip().replace('\n', '')
    print(p)
except CalledProcessError:
    print('unknown')

但它 returns 这个 : 目录' 结尾的撇号不是错字,这让我很困扰。而且我不明白为什么(不是因为它困扰我..;))

谢谢

问题是您将字节视为字符串并且您正在使用 Python3。所以当你调用 str(p) 时你得到的是这样的:

"b'/home/user: directory\n'"

您可以通过 p.decode().split 而不是 str(p).split

来解决这个问题