以下代码应回写用户输入的所有内容:
import csv
item = 'ambala' #for demonstration purpose, get it like you did before
with open('database.txt', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
if item in row[2]:
print(row[0] + ' ' + row[1])
确实如此,但是当我将process.stdin.on('data', blob => {
process.stdout.write(blob)
})
更改为on
时,我希望脚本只写回一行然后退出:
once
但是,它不会退出。再也没有发生任何事情,没有回写任何行,但是脚本继续运行。
在documentation of once
中,由于文档指出,我希望它会退出:
下次触发
process.stdin.once('data', blob => { process.stdout.write(blob) })
时,将删除此侦听器,然后调用它。
这是否意味着事件循环队列为空?
node process doesn't exit after firebase once似乎相关,但是现在可以接受的答案是:
请注意,这不再适用。使用一次()时,Node.js将不再挂起,尽管只要有活动的侦听器订阅了远程服务器,Node.js就会保持打开状态。
这里似乎不是这种情况。