Python脚本挂起

时间:2013-08-02 15:38:03

标签: python

我对Python知之甚少,所以我希望这个问题不要太模糊。

我正在尝试运行位于此处的python脚本quarqd_messages.py:

https://github.com/markrages/antsrm/tree/master/firmware/qapy

我正在使用的命令行是: “quarqd_messages.py --header> message-headers.h”

但是,它会挂起,输出文件为0kb。

我尝试用pdb进行调试,当我这样做时,它会逐步进入这一行:

       for line in fd.readlines():

然后它挂起。我确实在另一个答案中读到,出于内存原因应该避免使用.readlines(),但删除它并没有效果。

有人能帮助我吗?

3 个答案:

答案 0 :(得分:1)

在这种情况下,fdsys.stdin;该脚本试图从脚本的stdin管道读取数据。

您需要将数据传输到此脚本中;或许像quarqd_messages.py --header < somedatafile

答案 1 :(得分:0)

我认为编写程序的方式,它期望数据从stdin传入:

ms.load(sys.stdin)

所以你需要:

something | quarqd_messages.py --header > message-headers.h

答案 2 :(得分:0)

这是另一种方法,只需一行

quarqd_messages.py --header < MessageSet.txt > message-headers.h

它使用输入和输出重定向。 MessageSet.txt被重定向到quarqd_messages.py(输入重定向),程序的输出被重定向到message-headers.h(输出重定向)。为清楚起见,您可以使用括号编写相同的命令。

(quarqd_messages.py --header < MessageSet.txt) > message-headers.h