gpt4 book ai didi

python - Python 与 Perl 中的小写脚本

转载 作者:太空狗 更新时间:2023-10-29 18:00:04 25 4
gpt4 key购买 nike

在 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 并逐字节或逐字符输出小写字母,而不是读取整个文件?

有没有办法控制命令行语法,使其遵循 Perl STDIN 和 STDOUT?例如。 python lowercase.py < infile.txt > lowered.txt

最佳答案

您的 Perl 代码的 Python 3.x 等效项可能如下所示:

#!/usr/bin/env python3.4
import sys

for line in sys.stdin:
print(line[:-1].lower(), file=sys.stdout)

逐行读取stdin,可用于shell管道

关于python - Python 与 Perl 中的小写脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36840612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com