Python 3.6正在打印文字字符\t和\n

Python 3.6正在打印文字字符\t和\n,python,python-3.x,Python,Python 3.x,问题: Python3.6正在输出中打印文本字符\n和\t Output: =============================== $ python3.6 sample.py Running system command: hadoop fs -cat /user/mapr/rajesh/sample.txt b'1320352532\t1001\thttp://www.mapr.com/doc\thttp://www.mapr.com\t192.

问题:

Python3.6正在输出中打印文本字符\n和\t

    Output:
    ===============================
    $ python3.6 sample.py
    Running system command: hadoop fs -cat /user/mapr/rajesh/sample.txt
    b'1320352532\t1001\thttp://www.mapr.com/doc\thttp://www.mapr.com\t192.168.10.1\n1320352533\t1002\thttp://www.mapr.com\thttp://www.example.com\t192.168.10.10\n1320352546\t1001\thttp://www.mapr.com\thttp://www.mapr.com/doc\t192.168.10.1\n'
    b'1320352532\t1001\thttp://www.mapr.com/doc\thttp://www.mapr.com\t192.168.10.1\n'
    b'1320352533\t1002\thttp://www.mapr.com\thttp://www.example.com\t192.168.10.10\n'
    b'1320352546\t1001\thttp://www.mapr.com\thttp://www.mapr.com/doc\t192.168.10.1\n'

    Code:
    # To print the sample HDFS file
    cat sample.py

import sys
import subprocess

 cat = subprocess.Popen(["hadoop", "fs", "-cat", "/user/mapr/rajesh/sample.txt"], stdout=subprocess.PIPE)
    for line in cat.stdout:
        print (line)

我想这是因为你有字节字符串而不是字符串
print(b'\t')
vs
print('\t')
是否有可能是hadoop实际输出换行符和制表符?我在子流程和“echo”中看到过类似的问题——输出文本的是echo,而不是Python。例如:使用
打印(line.decode())
可能重复的感谢!!!我使用了“print(line.decode())”并成功了。我想这是因为您有字节字符串,而没有字符串
print(b'\t')
vs
print('\t')
是否有可能是hadoop实际输出换行符和制表符?我在子流程和“echo”中看到过类似的问题——输出文本的是echo,而不是Python。例如:使用
打印(line.decode())
可能重复的感谢!!!我使用了“print(line.decode())”并成功了。