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