将StdIn重定向到python时从StdIn读取输入管理.py什

2024-09-28 03:25:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,我称之为重定向到Djangomanage.py shell。在

$ python manage.py shell < script.py

我想从用户那里得到一个答案来决定该怎么做。但是我不能用input()sys.stdin.readline()来做。在

使用input()

^{pr2}$

错误:

EOFError: EOF when reading a line

与系统标准读入线:

answer = sys.stdin.readline()
if answer == 'y':
    # Do something
else:
    pass

在这种情况下,脚本将继续,而不等待用户输入。在

正确的方法是什么?在


Tags: 答案用户answerpy脚本inputreadlinemanage
1条回答
网友
1楼 · 发布于 2024-09-28 03:25:32

您使./manage.py shell获得一些输入,但是您提供的输入是script.py的内容。

编写一个自定义的Django management command会更好。例如:

from django.core.management.base import BaseCommand

class Command(BaseCommand):
    def handle(self, *args, **options):
        answer = input('A question')
        if answer == 'y':
            # Do something
        else:
            pass

然后用manage.py my_script调用它。

相关问题 更多 >

    热门问题