Questions tagged «stdin»

标准输入(stdin,文件描述符0)是程序的输入流。

6
不断从Ruby中的外部进程的STDOUT中读取
我想通过ruby脚本从命令行运行Blender,然后将逐行处理Blender给出的输出以更新GUI中的进度条。搅拌器是我需要阅读其标准输出的外部过程并不是很重要。 当Blender进程仍在运行时,我似乎无法捕获Blender通常打印到Shell的进度消息,并且我尝试了几种方法。我似乎总是在搅拌器退出后(而不是在它仍在运行时)访问搅拌器的标准输出。 这是失败尝试的示例。它确实获取并打印了Blender输出的前25行,但仅在Blender进程退出后: blender = nil t = Thread.new do blender = open "| blender -b mball.blend -o //renders/ -F JPEG -x 1 -f 1" end puts "Blender is doing its job now..." 25.times { puts blender.gets} 编辑: 为了更清楚一点,调用搅拌器的命令在shell中返回输出流,指示进度(第1-16部分已完成,等等)。似乎所有对“获取”输出的调用都被阻止,直到搅拌机退出为止。问题是当Blender仍在运行时如何访问此输出,因为Blender会将其输出打印到Shell。
86 ruby  shell  process  stdout  stdin 

5
从标准输入读取整数
如何使用fmt.ScanfGo中的函数从标准输入获取整数输入? 如果使用无法完成此操作fmt.Scanf,那么读取单个整数的最佳方法是什么?
85 go  stdin 


6
使用fflush(stdin)
因此,通过Google进行快速搜索以fflush(stdin)清除输入缓冲区,就会发现许多网站警告不要使用它。但这正是我的CS教授教课的方式。 使用有多糟糕fflush(stdin)?即使我的教授正在使用它,并且它似乎可以正常工作,我还是应该放弃使用它吗?
77 c  stdin  fflush 


4
文件描述符如何工作?
有人可以告诉我为什么这行不通吗?我在玩文件描述符,但是有点迷路。 #!/bin/bash echo "This" echo "is" >&2 echo "a" >&3 echo "test." >&4 前三行运行正常,但后两行出错。为什么?

5
如何检查stdin是否包含一些数据?
在Python中,如何检查是否sys.stdin有数据? 我发现不仅os.isatty(0)可以检查stdin是否已连接到TTY设备,还可以检查是否有可用数据。 但是如果有人使用诸如 sys.stdin = cStringIO.StringIO("ddd") 然后使用os.isatty(0),它仍然返回True。我需要做什么检查stdin是否有数据?

3
如何写入Python子进程的stdin?
我正在尝试编写一个Python脚本来启动一个子进程,并将其写入子进程stdin。我还希望能够确定子进程崩溃时要采取的措施。 我试图启动的过程是一个名为的程序nuke,它具有自己的Python内置版本,我希望能够向其提交命令,然后告诉其在命令执行后退出。到目前为止,我已经得出结论,如果我在类似这样的命令提示符下启动Python,然后nuke作为子进程启动,那么我可以在中键入命令nuke,但是我希望能够将其全部放入脚本中,以便Python程序可以启动nuke,然后写入其标准输入(并因此写入其内置的Python版本),并使其执行令人眼花things乱的事情,因此,我编写了一个如下所示的脚本nuke: subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"]) 然后什么也没有发生,因为nuke正在等待用户输入。我现在将如何写入标准输入? 我这样做是因为我正在运行一个带有nuke该插件的插件,导致它在渲染多个帧时间歇性崩溃。因此,我希望该脚本能够启动nuke,告诉它执行某些操作,然后如果崩溃,请重试。因此,如果有一种方法可以捕捉到崩溃并仍然可以正常运行,那就太好了。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.