2014-04-17 2 views
0

저는 콘솔 기반 프로그램을 코딩하고 있습니다. os.system ('clear')을 많이 사용하면 화면의 첫 번째 위치 (콘솔의 왼쪽 상단 문자)에 공백이 기록됩니다.os.system ('clear') 공백 인쇄

내가 겪고있는 문제는이 일이 다소 무작위로 발생하고 패턴을 파악할 수 없어서 해결할 수 있다는 것입니다. 나는이 같은 기본적인 것들로 그것을 복제 시도

:

while 1: 
    os.system('clear') 
    print "######################" 
    print "######################" 
    raw_input() 

하지만 운이없는

. 그러나 내 프로그램에서는 꽤 많은 일이 일어납니다. 그래서 나는 그것을 제거하기 전이나 후에 무언가를 할 때만 일어난다. 그러나 어떤 상수도 없다. 그리고 어떤 순간에 일어날 수있다. (어떤 행동을 한 후에 여러 번 시도 할 때 또는 얻지 못할 수도있다.)

누구든지이 문제가 발생 했습니까? 아무도이 원인을 알고 있습니까? 파이썬 문서에는 아무 것도 없으며 온라인에서 찾음으로써 원인이나 해결책을 찾을 수 없었습니다.

다만 here is the code인데, 실제로 아무도 읽지 않을 것이라고 생각합니다. 내가 말했듯이, 다소 무작위로 발생하기 때문에 어떤 명령, 함수 또는 모듈이 문제인지를 알 수 없습니다. 사람들이 처음 테스트를 시작한 이래로 (코드는 그 당시의 몇 백 라인에 불과했기 때문에) 계속 발생했습니다. 따라서 명확하고 쓰기 쉬운 입력 명령어의 조합입니다.

이 문제의 원인이 될 수있는 것에 대한 어떤 정보도 감사하겠습니다. ') (clr_screen'나는 일반적으로 같은 별도의 기능에 넣고

subprocess.call('clear') 

다음 필요에 따라 전화 :

+0

현재 사용중인 OS는 무엇입니까? – wnnmaw

+0

지우기 전에 sys.stdout.flush()를 시도하십시오. 아마도 파이프에 뭔가가있을 수 있습니다. 그리고 curses 모듈을 통해 호출하는 대신 클리어하려고 할 수 있습니다. – tdelaney

+0

@wnnmaw 나는 debian 7.something을 사용하고 있습니다. tdelaney, 나는 curses를 사용하지 않고있다. 나는 플러시를 시도하고 무슨 일이 일어나는지를 보게 될 것입니다. –

답변

1

아마 사용해보십시오.