Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 换行符上的拆分字节变量_Python_Variables_For Loop - Fatal编程技术网

Python 换行符上的拆分字节变量

Python 换行符上的拆分字节变量,python,variables,for-loop,Python,Variables,For Loop,这是一个不寻常的请求,我希望得到一些指导!) 我有一个python变量,为了简单起见,我们可以称它为“output” 当我打印输出时,我得到以下信息: b"word1\nword2\nword3\n" 如果我能打印,我会喜欢的 word1 word2 word3 word4 我尝试拆分变量,并将其馈送到for循环,但没有成功。我很乐意将输出写入操作系统中的一个文件,并使用bash解决这个问题 谢谢 您将需要执行此操作(有关更多详细信息,请参阅函数) 你们不需要打印word,你们可以用它做任何

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

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

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

b"word1\nword2\nword3\n"
如果我能打印,我会喜欢的

word1
word2
word3
word4
我尝试拆分变量,并将其馈送到for循环,但没有成功。我很乐意将输出写入操作系统中的一个文件,并使用bash解决这个问题

谢谢

您将需要执行此操作(有关更多详细信息,请参阅函数)


你们不需要打印word,你们可以用它做任何你们想做的事情。这个循环将在
输出中的每一行上迭代

,对我来说,听起来你的字符串已经转义了换行符
str.split
在这里帮不了你,str.splitlines也帮不了你。您需要解码转义:

output = b"word1\nword2\nword3\nword4\n"
for w in output.split():
    print(w)
>>> print s
word1\nword2\nwored3\n
>>> print s.decode('string-escape')
word1
word2
wored3

听起来您正在使用Python3并调用

>>> print(b"foo\nbar\nbaz")
b'foo\nbar\nbaz'
这是动作中的
str(bytes)
:字节字符串的(Unicode)字符串表示形式。通过首先对其进行解码,您将获得Python 3将更优雅地打印的内容

>>> print(b"foo\nbar\nbaz".decode('utf-8'))
foo
bar
baz

假设Python 3。您有一个字节字符串(bytes),与unicode字符串(str)不同

换行符
'\n'
u'\n'
(unicode字符串)相同,不同于
b'\n'
。 如果您只对拆分感兴趣,可以使用
b'\n'
作为分隔符:

for w in bstring.split(b'\n'):
    print(w)
这将打印字节字符串
b'word1'
。。。 如果需要常规字符串,则必须在拆分之前或之后解码,如其他解决方案所示:

for w in bstring.decode().split('\n'):
    print(w)

这使用默认编码(通常为utf-8),如果需要不同的编码,可以将其作为参数传递给
decode()
。如果打印
\n
,您可以在

无参数调用拆分中找到更多信息。如果打印
\n
,则不只是拆分
\n
(这里可能有问题,也可能没有问题),这意味着实际字符串包括
\\n
@jeff\h您使用字节而不是字符串有什么原因吗?我在收到错误之前尝试过拆分:输出中的I。拆分('\n'):类型错误:需要类似字节的对象,而不是'str',我使用的是变量名输出,这就是它的创建方式:output=ssh\u stderr.read()+ssh\u stdout.read()有趣,所以我应该尝试:print(output.decode('\\n'))?:)这回答了你的问题吗?
for w in bstring.split(b'\n'):
    print(w)
for w in bstring.decode().split('\n'):
    print(w)