[无穷b''问题,运行shell脚本通过烧瓶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[无穷b''问题,运行shell脚本通过烧瓶相关的知识,希望对你有一定的参考价值。

这是第一次问问题。

在sh文件中,这可以运行virtualenv和Python文件。 python文件是用于深度学习的文件。花了一段时间。

我想在网页上实时打印出Python文件的输出。但是当我使用此代码时,在打印正确的输出后,打印出了无限的b''行。

帮帮我。

def uploaded():
    def inner():
        proc = subprocess.Popen('./some.sh', stderr=PIPE, stdout=PIPE, shell=True, executable="/bin/bash")

        for line in iter(proc.stdout.readline,''):
            string = line.rstrip()
            print(string)
            yield string + b'<br/>
'

        for line in iter(proc.stderr.readline,''):
            string = line.rstrip()
            print(string)
            yield string + b'<br/>
'

    return Response(inner(), mimetype='text/html')
答案

[您的readline调用似乎正在返回bytes实例,但是使用两个参数的iter调用,您正在将其与空的str实例''而不是空的[ C0]实例,bytes。这些不相等,因此循环永远运行。尝试使用b''iter(proc.stdout.readline, b'')进行迭代。

以上是关于[无穷b''问题,运行shell脚本通过烧瓶的主要内容,如果未能解决你的问题,请参考以下文章

Linux - Shell - find - 进阶: 范围

python中%代表啥意思?

shell编程中使用IF判断

Python无穷大之间的计算结果

shell中按照指定字符截取两边的数据,放到变量里

运行shell脚本报错```$'\r':command not found```