标签: stdin

你怎么读斯坦丁?

我正在尝试做一些代码高尔夫挑战,但它们都需要输入stdin.我如何在Python中获得它?

python stdin

1389
推荐指数
18
解决办法
150万
查看次数

Ruby中STDIN的最佳实践?

我想处理Ruby中的命令行输入:

> cat input.txt | myprog.rb
> myprog.rb < input.txt
> myprog.rb arg1 arg2 arg3 ...
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?特别是我想处理空白STDIN,我希望有一个优雅的解决方案.

#!/usr/bin/env ruby

STDIN.read.split("\n").each do |a|
   puts a
end

ARGV.each do |b|
    puts b
end
Run Code Online (Sandbox Code Playgroud)

ruby stdin

299
推荐指数
5
解决办法
18万
查看次数

Python - 如何将字符串传递给subprocess.Popen(使用stdin参数)?

如果我执行以下操作:

import subprocess
from cStringIO import StringIO
subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

我明白了:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__
    (p2cread, p2cwrite,
  File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles
    p2cread = stdin.fileno()
AttributeError: 'cStringIO.StringI' object has no attribute 'fileno'
Run Code Online (Sandbox Code Playgroud)

显然,一个cStringIO.StringIO对象不能足够接近文件duck以适应subprocess.Popen.我该如何解决这个问题?

python stdin subprocess

263
推荐指数
10
解决办法
29万
查看次数

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

在Perl中,以下代码将从命令行args或stdin中指定的文件中读取:

while (<>) {
   print($_);
}
Run Code Online (Sandbox Code Playgroud)

这很方便.我只是想知道在bash中从file或stdin读取的最简单方法是什么.

bash stdin

222
推荐指数
7
解决办法
28万
查看次数

对stdin,stdout和stderr感到困惑?

我对这三个文件的目的感到困惑.如果我的理解是正确的,stdin程序写入其在进程中运行任务的请求stdout的文件是内核写入其输出stderr的文件,并且请求它的进程从中访问信息,并且是文件到输入所有例外情况.在打开这些文件以检查这些文件是否确实发生时,我发现似乎没有任何建议!

我想知道的是这些文件的目的究竟是什么,用非常少的技术术语绝对愚蠢地回答!

linux stdin stdout stderr

199
推荐指数
7
解决办法
23万
查看次数

将字符串发送到stdin

有没有办法在bash中有效地做到这一点:

/my/bash/script < echo 'This string will be sent to stdin.'
Run Code Online (Sandbox Code Playgroud)

我知道我可以管道回声的输出,如下所示:

echo 'This string will be piped to stdin.' | /my/bash/script
Run Code Online (Sandbox Code Playgroud)

bash redirect stdin io-redirection

144
推荐指数
3
解决办法
15万
查看次数

如何在Node中逐行读取stdin

我正在寻找使用命令行调用处理节点的文本文件,如:

node app.js < input.txt

文件的每一行都需要单独处理,但一旦处理,输入行就会被遗忘.

使用stdin的on-data监听器,我得到一个字节大小的输入蒸汽,所以我设置了它.

process.stdin.resume();
process.stdin.setEncoding('utf8');

var lingeringLine = "";

process.stdin.on('data', function(chunk) {
    lines = chunk.split("\n");

    lines[0] = lingeringLine + lines[0];
    lingeringLine = lines.pop();

    lines.forEach(processLine);
});

process.stdin.on('end', function() {
    processLine(lingeringLine);
});
Run Code Online (Sandbox Code Playgroud)

但这似乎很草率.必须按线阵列的第一个和最后一个项目.有没有更优雅的方式来做到这一点?

stdin node.js

141
推荐指数
5
解决办法
14万
查看次数

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

我正试图做相反的事情

检测stdin是终端还是管道?

我正在运行一个正在更改其输出格式的应用程序,因为它检测到stdout上的管道,我希望它认为它是一个交互式终端,以便在重定向时获得相同的输出.

我当时认为将它包装在expect脚本中或使用proc_open()PHP中的它会这样做,但事实并非如此.

有什么想法吗?

bash terminal stdin pipe

137
推荐指数
7
解决办法
5万
查看次数

如何打开文件夹中的每个文件?

我有一个python脚本parse.py,它在脚本中打开一个文件,比如file1,然后做一些事情可能会打印出总字符数.

filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
Run Code Online (Sandbox Code Playgroud)

现在,我使用stdout将结果定向到我的输出文件 - 输出

python parse.py >> output
Run Code Online (Sandbox Code Playgroud)

但是,我不想手动执行此文件,有没有办法自动处理每个文件?喜欢

ls | awk '{print}' | python parse.py >> output 
Run Code Online (Sandbox Code Playgroud)

那么问题是如何从standardin读取文件名?或者已经有一些内置函数可以轻松完成ls和那些工作?

谢谢!

python stdin stdout file pipe

124
推荐指数
4
解决办法
34万
查看次数

从STDIN读取数据时压缩文件

是否可以在从Linux上的stdin读取时压缩(创建压缩归档)数据?

linux compression stdin

121
推荐指数
2
解决办法
9万
查看次数