在换行符上拆分字节变量

jef*_*f_h 6 python variables for-loop

这是一个不寻常的请求,我希望得到一些指导!:)

我有一个 python 变量,为简单起见,我们可以称它为“输出”

当我打印输出时,我得到以下信息:

b"word1\nword2\nword3\n"
Run Code Online (Sandbox Code Playgroud)

如果我可以打印,我会喜欢的

word1
word2
word3
word4
Run Code Online (Sandbox Code Playgroud)

我试图拆分变量,并将其提供给 for 循环,但成功率为零。我很高兴将输出写入操作系统中的文件并使用 bash 来解决该问题。

谢谢!

joe*_*ker 6

听起来您正在使用 Python 3 并调用等效的

>>> print(b"foo\nbar\nbaz")
b'foo\nbar\nbaz'
Run Code Online (Sandbox Code Playgroud)

这是str(bytes)在起作用:字节字符串的(Unicode)字符串表示。通过首先解码它,你会得到 Python 3 打印得更优雅的东西。

>>> print(b"foo\nbar\nbaz".decode('utf-8'))
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)


bir*_*day 5

您需要执行此操作(string.split有关更多详细信息,请参阅该功能)...

for word in output.decode('utf-8').split('\n'):
    print word
Run Code Online (Sandbox Code Playgroud)

而且您不需要打印文字 - 您可以用它做任何您想做的事情。这个循环将遍历output.