Sam*_*Sam 4 python text-processing inputstream
如果这是一个重复的问题,我很抱歉.如何编写python脚本来处理数据流?我需要这样做,因为我正在处理的文件很大,我宁愿不把文件读入内存.
我知道你可以一次读取一行文件,但我想要一些能处理文本流的东西.
Bjö*_*lex 16
您可以直接读取数据stdin,如本答案中所述.这看起来像代码中的那样:
for line in sys.stdin:
# do suff
Run Code Online (Sandbox Code Playgroud)
如果你想处理一个文件,那就像这样调用脚本(在Unix平台上):
cat file.txt | python script.py
Run Code Online (Sandbox Code Playgroud)
你当然也可以管理任何其他程序的输出.
您的案例听起来与fileinput模块的设计完全相同.这样你就可以做到:
python script.py file1.txt file2.txt file3.txt file4.txt
Run Code Online (Sandbox Code Playgroud)
并在 script.py
import fileinput
for line in fileinput.input():
# do stuff here
Run Code Online (Sandbox Code Playgroud)
使用fileinput的额外好处是你可以做大致相同的事情Space_C0wb0y建议添加一个破折号作为第一个参数:
python script.py - < file.txt
Run Code Online (Sandbox Code Playgroud)
要么
cat file.txt | python script.py -
Run Code Online (Sandbox Code Playgroud)
在space_C0wb0y关联的问题的答案中提到了fileinput,我只想到我会说明如何利用它.
| 归档时间: |
|
| 查看次数: |
19553 次 |
| 最近记录: |