gpt4 book ai didi

python - fileinput.filename() 是如何工作的?

转载 作者:行者123 更新时间:2023-11-28 16:29:22 25 4
gpt4 key购买 nike

我正在制作一个脚本,它从终端获取一个文件作为输入。为了做到这一点,我调用 myScript像那样:

$python myScript.py <fileInput.txt

脚本也很简单:

import fileinput
for line in fileinput.input():
if 'BLABLABLA' in line:
print(line, 'THAT IS THE LINE CONTAINING BLABLABLA from the file %s' %fileinput.filename())

但是输出是:

Tweedledum said BLABLABLA! THAT IS THE LINE CONTAINING BLABLABLA from the <stdin>

我做错了什么? fileinput.filename()如何作品?为什么会输出<stdin>

最佳答案

fileinput.input() 遍历 sys.argv[1:] 中列出的所有文件的行,如果列表为空则默认为 sys.stdin ( source )。

<fileInput.txt发送 fileInput.txt 的内容到标准输入。文件名不会出现在 sys.argv 中,因为 input redirection由您的 shell 处理。

如果文件名包含 <字符(或任何其他“特殊”字符),你会引用它:

$ python myScript.py '<fileInput.txt'

关于python - fileinput.filename() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652769/

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