在python 3中修剪字符串

时间:2017-09-14 13:45:04

标签: python whitespace trim

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

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')

但它返回:目录' 结尾的撇号不是一个错字,这是困扰我的。我不明白为什么(不是它困扰我......;))

谢谢

1 个答案:

答案 0 :(得分:3)

问题在于您将字节视为字符串而您正在使用Python3。所以当你致电str(p)时,你得到的是:

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

您可以通过p.decode().split代替str(p).split

来解决此问题