В Perl для ввода текстового файла в нижний регистр я мог бы сделать следующее lowercase.perl
:
#!/usr/bin/env perl
use warnings;
use strict;
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
while(<STDIN>) {
print lc($_);
}
И в командной строке: 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())
И в командной строке: 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
?