可能重复:
Python输出缓冲
有没有办法从我的代码中获得运行python -u的效果?如果失败了,我的程序可以检查它是否在-u模式下运行并退出并显示错误消息,如果没有?这是在linux上(ubuntu 8.10服务器)
在Perl中,为了小写文本文件,我可以执行以下操作lowercase.perl:
#!/usr/bin/env perl
use warnings;
use strict;
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
while(<STDIN>) {
print lc($_);
}
Run Code Online (Sandbox Code Playgroud)
并在命令行上: perl lowercase.perl < infile.txt > lowered.txt
在Python,我可以做lowercase.py:
#!/usr/bin/env python
import io
import sys
with io.open(sys.argv[1], 'r', 'utf8') as fin:
with io.open(sys.argv[2], 'r', 'utf8') as fout:
fout.write(fin.read().lower())
Run Code Online (Sandbox Code Playgroud)
并在命令行上: python lowercase.py infile.txt lowered.txt
Perl lowercase.perl与Python有lowercase.py什么不同?
是否输出输入并在输出时将其小写?或者它是否像Python一样读取整个文件lowercase.py?
有没有一种方法可以将输入流式传输到Python并逐字节输出降低的大小写或者通过char输出char?
有没有办法控制命令行语法,使其遵循Perl STDIN和STDOUT?比如python lowercase.py < infile.txt > lowered.txt?
我们在磁盘中有几个巨大的文件(大于RAM的大小).我想在python中逐行读取它们并在终端输出结果.我已经完成了[1]和[2],但我正在寻找不等到整个文件被读入内存的方法.
我将使用这两个命令:
cat fileName | python myScript1.py
python myScript2.py fileName
Run Code Online (Sandbox Code Playgroud)