2013-04-26 2 views
0

Я начал изучать python несколько дней назад, я написал небольшую программу. пользователь вводит данные и предоставляет информацию о данных.Командная строка «Обновление» в Windows

while True: 
x = input("Enter Data: ") 

if x == z: 
      print("") 


if x == y: 
      print("") 
if x == l: 
      print("") 


if x == k: 
      print("") 

Я использую программу в командной строке Windows. что я пытаюсь сделать: когда вы «вводите данные», и программа дает вам информацию, вы нажимаете кнопку «Ввод» и обновляете командную строку и снова вводите «вводить данные».

+1

В чем проблема? – bozdoz

+0

О, ты имеешь в виду, что он постоянно просит вас ввести данные? и вы этого не хотите? – bozdoz

+0

нет проблем с программой, он работает (это не полный код программы). Я хочу, чтобы командная строка «обновлялась» (dunno, если это термин для записи). Когда я запускаю программу, она говорит: «Введите данные, я ввожу ее, она дает мне информацию, а затем повторяет« Enter Data », но под информацией, которую она дала Я хочу, чтобы он удалил все и попросил пустую страницу «Ввести данные», – user2322274

ответ

1

В Windows вы можете использовать cls для очистки экрана (см this question подробности):

import os 
import sys 

while True: 
    value = raw_input('Enter data: ') 

    if value == 'quit': 
     break 

    print value 

    # wait for enter key 
    sys.stdin.read(1) 
    os.system('cls') 

Curses пример:

import curses 

w = curses.initscr() 

while True: 
    w.addstr("Enter data: ") 
    value = w.getstr() 

    if value == 'quit': 
     break 

    w.addstr('data: %s\n' % value) 

    w.addstr('Press any key to continue') 
    w.getch() 
    w.clear() 
    w.refresh() 

curses.endwin() 
0

while True: означает «продолжайте делать это». Поэтому он будет продолжать просить вас вводить данные. Возможно, вы ищете вместо этого define a function: def ask():, а затем в командной строке введите ask(), и он будет предлагать вам только один раз, что я и предполагаю, что вы хотите.