当没有输入时,我的python脚本在这一点上一直卡住: 否则:
lines = sys.stdin.readlines()
我的程序必须支持没有输入,所以如果没有输入,有没有办法找到它,所以我只是退出函数。我试过看看行是否为空,但控件似乎在readlines函数中丢失(从不退出)
这是完整的if语句
if len(args) != 0 and args[0] != '-':
# print('B')
input_file = args[0]
try:
f = open(input_file, 'r')
lines = sys.stdin.readlines()
lines = f.close()
except:
return
else:
#print('c')
lines = sys.stdin.readlines()
有办法解决这个问题吗?
答案 0 :(得分:1)
您不能使用readlines,因为这会强制要读取新行,并且根据您的输入,您无法预测何时出现。
相反,使用select模块检查(超时)新数据。如果有的话,用read()读取它并自己将数据拼接在一起,然后分割线和&将它们提供给你的程序的其余部分。
答案 1 :(得分:1)
从我的评论原文转到u0b34a0f6ae:
import fileinput
for line in fileinput.input():
pass