把文件设为stdin后如何读数据
39 字·
0
·
0
·
Python
可以借助sys.stdin.readline() sys.stdin.read() sys.stdin.readlines()
也可以直接用input()实现交互
坑点:在读的时候必须以只读的方式打开,图一是错误的,图二才能正确读出数据
事实上,图二之所以能够读出数据,是因为指针偏移量重置为0了,在图一的flush后加上seek(0)即可,如图三
使用with语句改进:
import sys
import random
with open("in.txt",'w+',encoding='utf8') as f:
sys.stdin = f
f.write("55")
f.flush()
f.seek(0)
line = sys.stdin.readline()
count = 0
while True:
print(random.randint(0, int(line)))
count += 1
if count == 50:
break