首页 文章
  • 0 votes
     answers
     views

    如何将stdin / out / error(Paramiko SSH)路由到没有类的Tkinter文本框?

    我正在使用Parmiko调用ssh shell,我想将所有输入/输出定向到Text小部件 . 我找到this solution: class IORedirector(object): '''A general class for redirecting I/O to this Text widget.''' def __init__(self,text_area): ...
  • 0 votes
     answers
     views

    Python2:使用Popen.communicate()写入交互式进程的标准输入,不带尾随换行符

    我试图编写我认为是一个简单的实用程序脚本来调用不同的命令,但Popen.communicate()似乎附加一个换行符 . 我想这是终止输入,它使用一个基本脚本,它接受输入并将其打印出来,但是当其他程序是交互式的时(例如 bc ),它会引起问题 . 使用bc代替其他程序重现的最小代码(因为两者都是交互式的,让它与bc一起工作应该可以解决问题): #!/usr/bin/env python from ...
  • 0 votes
     answers
     views

    在子进程存活时读取子进程的输出

    我用它创建了两个管道 saAttr.bInheritHandle = TRUE; ... CreatePipe(&childStdOut_Rd, &childStdOut_Wr, &saAttr, 0); CreatePipe(&childStdErr_Rd, &childStdErr_Wr, &saAttr, 0); 然后我用下一个STARTU...
  • 3 votes
     answers
     views

    golang从stdin读取长文本

    我想从os.Stdin读一篇长篇文章,但我无法实现 . 已经阅读了主题中的所有内容,尝试了可行的代码 . 无论如何,每个方法都会减少4096个字符 . 例如 . here 's a working example. After the first run of the loop, it reads the first 4096 characters, and then waits for mor...
  • 188 votes
     answers
     views

    如何读取Bash中的文件或stdin?

    在Perl中,以下代码将从命令行args或stdin中指定的文件中读取: while (<>) { print($_); } 这很方便 . 我只是想知道在bash中从file或stdin读取的最简单方法是什么 .
  • 1 votes
     answers
     views

    背景与stdin的python子进程

    我查看了子进程模块的文档并用P_NOWAIT替换了spawn1,但我没有看到如何使用它并将数据写入stdin . 也就是说,如果我打电话给 pid = Popen(...).pid 正如文档所示,那么我在哪里与stdin PIPE进行通信 . 这是一些示例代码 档案1: #!/usr/bin/env python # testing how to run a processin the back...
  • 2 votes
     answers
     views

    Python subprocess&stdout - 程序死锁

    我有一个模拟程序,它通过stdin引导并向stdout提供输出 在QProcess中运行 C++/Qt 程序效果很好 . 在 linux 下运行 Python 程序运行良好,使用: p = subprocess.Popen(cmd,stdin=subprocess.PIPE,stdout=subprocess.PIPE) 并使用 p.stdin.write , p.stdout.readline...
  • 15 votes
     answers
     views

    从stdin读取标准输出?

    当连接到终端时,stdout是行缓冲的,但我记得在某处读取(至少从stdin)将自动刷新stdout . 我使用的所有C实现都已经完成了,但我现在无法在标准中找到它 . 它确实有意义,它是这样的,否则代码如下: printf("Type some input: "); fgets(line, sizeof line, stdin); 需要一个额外的 fflush(stdout...
  • 0 votes
     answers
     views

    为什么stdin和stdout被认为是C中的文件?

    例如, stdio.h 库有一些需要 FILE * 参数的函数,但接受来自终端的用户输入的 stdin .
  • 2 votes
     answers
     views

    通过stdin和stdout与长时间运行的子进程通信

    对不起,我想这之前已经被问过,但由于某种原因我似乎无法找到答案 . 我试图启动一个长时间运行的子进程,如REPL(lein repl,python),并通过stdin / stdout与它通信 . 我找到了许多如何在父母只写一次孩子然后读取一些输入的情况下做这个的例子,但是我无法弄清楚如何做到这一点我可以写入和读取子进程'stdin / stdout无限期,就像我使用TCP套接字一样 . 理想情况...
  • 4 votes
     answers
     views

    将两个进程的stdout重定向到Linux C中的另一个进程的stdin

    我遇到了关于多进程重定向stdout的问题 . 假设我有进程A,我在A中使用fork(),然后我得到进程A和B.然后我在B中使用fork(),最后我得到进程A,B和C.B和C都在实现其他程序EXEC() . 现在,我尝试用两个管道将A和B的stdout重定向到C的stdin . #include<unistd.h> #include<stdio.h> #include&lt...
  • 1 votes
     answers
     views

    从stdin读取时,Node.js无法读取python subprocess标准输出

    我有一个node.js脚本,它启动一个python子进程并读取它的stdout . 只要python进程不尝试从stdin读取,这就可以工作 . 然后父进程没有从子进程获得任何内容 . 我在这里有node.js脚本和两个python测试用例:(如果你注释试图从stdin读取的行,这两个例子都有效) 第一个孩子: import sys print('before') for line in sy...
  • 1 votes
     answers
     views

    如何管理交互式shell的输入和输出?

    我正在尝试构建一个应用程序,使用户能够与命令行交互式shell进行交互,如IRB或Python . 这意味着我需要将用户输入传递到shell中,并将shell的输出传递回用户 . 我希望这将像管道STDIN,STDOUT和STDERR一样简单,但是大多数shell似乎对STDIN输入的响应不同,而不是直接键盘输入 . 例如,以下是将STDIN传递给 python 时发生的情况: $ python ...
  • 0 votes
     answers
     views

    Python子流程交互:监控(stdout)通信(stdin)2.7.5

    基本上我正在尝试使用子进程库(Popen)自动化一些Linux安装程序(和其他任务) . 在过去,我已经能够打开这样的流程: self.process = subprocess.Popen( self.executable, stdout=subprocess.PIPE, ...
  • 0 votes
     answers
     views

    Windows / Linux子进程STDIN差异

    我在工作中构建了一个简单的文本处理脚本,供另一个程序使用 . 当我完成后,有人记得脚本不需要阻止STDIN / STDOUT使用它正常工作的工具,并相应地修改脚本 . 该脚本通过IPC::Open2在子进程中打开* nix的 cat 并将STDIN打印到它,读取它然后处理并将其打印到STDOUT . 我不知道如何使脚本无阻塞,但它显然有效 . 我希望它也适用于Windows,所以我为 type C...
  • 2 votes
     answers
     views

    使用python的子进程模块打开python进程

    我正在尝试用python脚本中的不同python解释器进行通信 . 我写了一个对象,它应该存储子进程并读/写它的stdin,stdout,stderr . import subprocess import fcntl import os class Python: def __init__(self): self.process = subprocess.Popen(&...
  • 6 votes
     answers
     views

    为什么将stdin提供给subprocess.Popen会导致写入stdout的内容发生变化?

    我正在使用Python的subprocess.Popen使用主机操作系统的二进制客户端执行一些FTP . 出于各种原因,我无法使用ftplib或任何其他库 . 如果我将stdin处理程序附加到Popen实例,则二进制文件的行为似乎会发生变化 . 例如,使用XP的ftp客户端,它接受要发出的命令的文本文件: >>>from subprocess import Popen, PIPE...
  • 113 votes
     answers
     views

    如何在Node中逐行读取stdin

    我正在寻找使用命令行调用处理节点的文本文件,如: node app.js < input.txt 文件的每一行都需要单独处理,但一旦处理,输入行就会被遗忘 . 使用stdin的on-data监听器,我得到一个字节大小的输入蒸汽,所以我设置了它 . process.stdin.resume(); process.stdin.setEncoding('utf8'); var lingering...
  • 8 votes
     answers
     views

    如何从多个进程中拆分和重新加入STDOUT?

    我正在研究一个有一些分支点然后合并的管道 - 它们看起来像这样: command2 / \ command1 command4 \ / command3 每个命令都写入STDOUT并通过STDIN接受输入 . 来自command1的STDOUT需要传递给command2和command3,它们按顺序运...
  • 0 votes
     answers
     views

    为什么我在Raspberry-Pi Jessie Lite上启动时无法访问stdin?

    我有这个代码 . 我想要做的是等待用户按“q”结束程序 . . ...starting few threads, which use fflush(stdout) (just saying...) . char n = 0; while (n != 'q') { n = getchar(); //tried to use scanf() here as well printf(&q...
  • 1235 votes
     answers
     views

    你如何从Python中读取stdin?

    我正在尝试做一些code golf挑战,但它们都要求输入来自 stdin . 我如何在Python中获得它?
  • 13 votes
     answers
     views

    无法获取lldb来读取文件输入

    我正在使用lldb作为OSX中的独立调试器 . 我正在尝试使用文本文件作为输入来调试C可执行文件 . lldb文档指定了以下用于将stdin更改为给定文件的命令: process launch -i <file> 使用此命令,lldb似乎忽略指定的文件,而不是等待键盘输入 . 这是预期的行为吗?如果是这样;我需要做什么才能真正让进程对我想要的输入文件进行操作? tl; dr:我如何...
  • 24 votes
     answers
     views

    Python 3:如何指定stdin编码

    在将代码从Python 2移植到Python 3时,我在从标准输入读取UTF-8文本时遇到了这个问题 . 在Python 2中,这很好用: for line in sys.stdin: ... 但是Python 3需要来自sys.stdin的ASCII,如果输入中有非ASCII字符,我会得到错误: UnicodeDecodeError:'ascii'编解码器无法解码字节..在位置..:...
  • 124 votes
     answers
     views

    欺骗应用程序认为它的标准输出是一个终端,而不是管道

    我正试图做相反的事情 Detect if stdin is a terminal or pipe? 我正在运行一个正在更改其输出格式的应用程序,因为它检测到stdout上的管道,我希望它认为它是一个交互式终端,以便在重定向时获得相同的输出 . 我认为将它包装在 expect 脚本中或在PHP中使用 proc_open() 会这样做,但事实并非如此 . 有什么想法吗?
  • 1 votes
     answers
     views

    将stdin中的整数放入列表中

    我想把stdin中收到的一些浮点数放在列表中 . 但是使用以下程序只返回一个对象 . 如何将我收到的花车列入清单? 输入如下:0.1 0.1 0.3 0.4 0.1 0.4 0.2 0.1 0.1 0.2 0.5 0.05 0.15 0.1 0.2 0.6 0.1 0.1 0.1 0.1 0.5 0.2 0.2 0.05 0.05 def main(): for line in sys.stdin...
  • 0 votes
     answers
     views

    c多个管道管道和文件描述符问题

    你好,我对管道的使用有点失落 我必须开发一个类似程序的shell,所以我有一个flex程序已经工作,表达式是这个函数的源 编辑 正如dave指出的那样,我确实声明了功能内部的管道,但我仍然有同样的问题,所以这里是功能的更新我已经卡在它上一段时间已经看起来像我没有关闭管道因为第二个叉总是挂在waitpid上() 但我确实试图关闭主要过程和所有孩子的所有叉子,但第二个叉子仍然悬挂 int execu...
  • 2 votes
     answers
     views

    gdb不会接受Emacs中的stdin重定向

    我正在尝试在emacs中使用gdb模式调试程序 . 它是用g编译的,我正在使用cygwin . 我的程序接受一个命令行参数,并从stdin获取输入,我从文件重定向,如下所示: program.exe inputFile.dat <otherInput.dat 问题是,gdb正在发送字符串 "<otherInput.dat" 作为命令行参数而不是重定向stdin ...
  • 0 votes
     answers
     views

    但是,sys.stdin中的读取行会以循环结束

    我试图从文本文件中读取行,但是我试图访问这些行,或者我认为 . import sys import math import re CANVAS_HEIGHT = 500 CANVAS_WIDTH = 500 SVG_HEADER = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" wid...
  • 1 votes
     answers
     views

    非常大的fseek前锋相当于stdin?

    我在stdin上有一个非常大的,已知的字节数,并希望在读取感兴趣的部分之前丢弃一个大的(也是已知的)数字(换句话说,我想通过一个大整数向前推进,但是fseek isn没有为管道定义 . 实现这一目标的最简单方法似乎是对fgetc的大量调用,第一种方法是使用单个调用fread,并使用分配的大型临时指针来存储结果 . 第一个非常慢,第二个使用可能无限量的内存,没有充分的理由 . 制作多个较小的读取可以...
  • 15 votes
     answers
     views

    使用python进行交互式输入/输出

    我有一个与用户交互的程序(就像一个shell),我想以交互方式使用python子进程模块运行它 . 这意味着,我希望有可能写入stdin并立即从stdout获取输出 . 我在这里尝试了许多解决方案,但它们似乎都不能满足我的需求 . 我写的代码基于Running an interactive command from within python import Queue import threadi...

热门问题