programing

파이썬의 IDLE 창을 지울 방법이 있습니까?

goodsources 2023. 6. 25. 18:46
반응형

파이썬의 IDLE 창을 지울 방법이 있습니까?

파이썬 콘솔에 대해 비슷한 주제가 있다는 것은 알지만, 동일한 주제인지는 모르겠습니다.시스템("클리어")을 사용해 보았지만 여기서는 작동하지 않았습니다.

파이썬의 IDLE 창을 지우려면 어떻게 해야 합니까?

"cls"와 "clear"는 터미널(DOS 프롬프트 또는 터미널 창)을 지우는 명령입니다.스크린샷에서 당신은 IDLE 내에서 셸을 사용하고 있으며, 이는 그러한 영향을 받지 않습니다.유감스럽게도 IDLE에서 화면을 지울 수 있는 방법이 없는 것 같습니다.화면을 아래로 스크롤하는 것이 가장 좋습니다. 예를 들어,

print ("\n" * 100)

이것을 함수에 넣을 수는 있지만,

def cls(): print ("\n" * 100)

그런 다음 필요할 때 호출합니다.cls()

os.system('clear')Linux에서 작동합니다.창을 실행 중인 경우 시도os.system('CLS')대신.

다음과 같이 os를 먼저 가져와야 합니다.

import os

여기서 대부분의 대답은 DOS 프롬프트 화면을 지우고 명령을 지웁니다. 이것은 질문이 아닙니다.여기에 있는 다른 답변은 화면의 지우기 효과를 보여주기 위해 빈 줄을 인쇄하는 것이었습니다.

이 질문의 가장 간단한 대답은

일부 외부 모듈 통합 없이는 python IDLE 셸을 지울 수 없습니다.만약 당신이 정말로 빈 순수하고 신선한 셸을 얻고 싶다면, 단지 이전 셸을 닫고 다시 실행하세요.

ctrl Ubuntu Linux에서 화면을 지웁니다L.

셸 지우기 확장은 이슈 6143에서 "기능 요청"으로 확인할 수 있습니다.이 확장은 IdleX에 포함되어 있습니다.

>>> import os

>>>def cls():
...    os.system("clear")
...
>>>cls()

그것은 완벽합니다.'0'도 인쇄되지 않았습니다.

IDLE 'shell' 버퍼를 지울 수 있는 방법이 없는 것 같습니다.

Python 2.4+에서 명령을 실행하는 방법은 하위 프로세스 모듈을 사용하는 것입니다.사용하는 것과 같은 방식으로 사용할 수 있습니다.os.system.

import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows

콘솔에서 당신은 반환값을 할 입니다. (" 만 당 파 콘 있 이 실 신 할 것 다 당 니 입 해 무 신 위 야 은 숨 를 약 가 반 언 해 값 면 기 환 기 다 이 을 이 썬 솔 행 에 것 서 을 하 고 ▁either for ▁if ▁to ▁something ▁the , ▁( ▁value ▁you ▁to ▁hide ▁return ▁console os.system또는subprocess.call과 마찬가지로:), 에할것는과같습니다당변하수▁),다같.

cls = subprocess.call("cls", shell=True)

즐겨 사용하는 항목:

import os
clear = lambda : os.system('cls') # or clear for Linux

clear()

파일 -> 새 창

새 창에서 **

실행 -> Python Shell

이 방법의 문제는 변수와 같이 정의한 모든 항목이 지워진다는 것입니다.

또는 명령 프롬프트를 사용해야 합니다.

명령 프롬프트 열기

"cd c:\tft27"을 입력합니다.

example.py 을 입력하면 대화형 모드가 아닐 때는 IDLE을 사용하여 편집해야 합니다.python shell에 있다면 file -> new window.

example.py 은 C:\python27과 동일한 디렉토리 또는 파이썬이 설치된 디렉토리에 있어야 합니다.

그런 다음 여기서 키보드의 위쪽 화살표 키를 누르면 됩니다.example.py 을 편집하고 Ctrl + S를 사용한 다음 명령 프롬프트로 돌아가서 위쪽 화살표 키를 누르고 Enter 키를 누릅니다.

명령 프롬프트가 너무 복잡해지면 "clr"을 입력합니다.

"clr" 명령은 명령 프롬프트에서만 작동하며 IDLE에서는 작동하지 않습니다.

MAC OS X의 경우 "명령 + L".

Ubuntu의 "control + L"

대화형 세션의 마지막 행을 지웁니다.

IDLE 콘솔을 직접 지울 수 있는 방법은 없는 것 같습니다.

내가 하는 한 가지 방법은 exit()를 내 파이썬 스크립트(.py)의 마지막 명령으로 사용하는 것입니다.스크립트를 실행하면 종료하기 전에 항상 새 콘솔과 프롬프트가 열립니다.

Upside : 스크립트가 실행될 때마다 콘솔이 새로 시작됩니다.단점 : 스크립트가 실행될 때마다 콘솔이 새로 시작됩니다.

Mark.ribau가 말했듯이 유휴 상태에서 텍스트 위젯을 지울 수 있는 방법이 없는 것 같습니다.은 야합해다니집편을 .EditorWindow.pyEditorWindow 클래스에서 다음과 같은 작업을 수행하는 메서드와 메뉴 항목을 모듈화하고 추가합니다.

self.text.tag_remove("sel", "1.0", "end")
self.text.delete("1.0", "end")

그리고 아마도 제가 모르는 태그 관리가 더 있을 것입니다.

이러한 솔루션 중 어떤 것도 Windows 7 및 IDLE 내에서 작동하지 않았습니다.PowerShell을 사용하고 그 안에서 Python을 실행한 후 종료하여 PowerShell에서 "cls"를 호출하여 창을 지웁니다.

반대: Python이 이미 PATH 변수에 있다고 가정합니다.또한 이렇게 하면 Python 변수가 지워집니다(셸을 다시 시작하는 경우에도 마찬가지입니다).

PROSS: 창 사용자 지정(색상, 글꼴 크기)을 유지합니다.

외부 도서관 없이는 불가능할 것 같습니다.

창을 사용하는 경우 지울 때마다 셸을 열고 닫기를 원하지 않는 경우 Windows 명령 프롬프트를 사용하는 방법도 있습니다.

  • python그리고 Enter 키를 눌러 Windows 명령 프롬프트를 python 유휴 상태로 전환합니다(python이 설치되어 있는지 확인).

  • quit()Enter 키를 눌러 Windows 명령 프롬프트로 되돌립니다.

  • clsEnter 키를 눌러 명령 프롬프트/윈도우즈 셸을 지웁니다.

Windows에서 이를 수행하는 가장 좋은 방법은 명령 프롬프트 'cmd'를 사용하고 명령 프롬프트를 시작 메뉴에서 찾을 수 있는 python 디렉토리에 액세스하는 것입니다. >run>cmd

C:\>cd Python27
C:\Python27>python.exe
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>import os
>>>os.system('cls')  #This will clear the screen and return the value 0

AutoHotKey 스크립트를 만들 수 있습니다.

ctrl-r을 단축키로 설정하여 셸을 지우려면:

^r::SendInput print '\n' * 50 {Enter}

AutoHotKey를 설치하고 idle_clear라는 파일에 위의 내용을 입력하면 됩니다.hk, 파일을 실행하면 바로 가기 키가 활성화됩니다.

파이썬용 Thonny IDE를 사용하는 것을 추천합니다.셸에는 "셸 지우기" 옵션이 있으며 별도의 목록에서 생성된 변수를 추적할 수도 있습니다.그것의 디버깅은 현대의 IDE와 비교해도 매우 좋습니다.또한 동일한 장소에서 셸에 대한 액세스 권한과 함께 파이썬 파일에 코드를 작성할 수 있습니다.

그리고 그것은 가볍습니다!

이것을 사용합니다.

for num in range(1,100):
    print("\n")

거북이는 화면을 지울 수 있습니다.

#=====================================
import turtle

wn = turtle.Screen()
wn.title("Clear the Screen")

t = turtle.Turtle()
t.color('red', 'yellow')
t.speed(0)

#=====================================

def star(x, y, length, angle):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill()
    while True:
        t.forward(length)
        t.left(angle)
        if t.heading() == 0: #===============
            break
    t.end_fill()
#=====================================
#   (  x,    y,  length, angle)
star(-360,  0,    150,    45)
t.clear()
#=====================================

이 대답은 명령 프롬프트가 아닌 IDLE용이며 Python 3.10.6으로 테스트되었습니다.

코드가 실행 중인 동안(완료되기 전에) Ctrl+Z를 누르면 이전 출력이 지워집니다.이를 자동화하려면 pnput 패키지가 있습니다.

pip install pynput

다음은 샘플 코드입니다(매크로는 안전하지 않습니다. 위험을 감수하고 사용하십시오).

# License: MIT-0
import time
import pynput

class _Eraser:
    keyboard = pynput.keyboard.Controller()
    ctrl = pynput.keyboard.Key.ctrl
    is_initialized = False

    @classmethod
    def erase(cls, n):
        if not cls.is_initialized:
            cls.is_initialized = True
            n += 1
        for _ in range(n):
            with cls.keyboard.pressed(cls.ctrl):
                cls.keyboard.press('z')
                cls.keyboard.release('z')
        time.sleep(0.1)

def erase(n=1):
    _Eraser.erase(n)

print('test1\n', end='')
print('test2\n', end='')
erase()  # Erase 'test2\n'
print('test3')
print('test4')
erase()  # Erase '\n'
print('test5')
print('test6')
erase(2)  # Erase '\n' and then 'test6'
print('test7')

출력은 다음과 같습니다.

test1
test3
test4test5
test7

이것은 Windows에서 작동합니다.

print chr(12)

이것을 하기 위해 당신 자신의 기능을 쓸 필요가 없습니다!Python에는 클리어 기능이 내장되어 있습니다.

명령 프롬프트에 다음을 입력합니다.

shell.clear()

사용하는 경우IPythonWindows의 경우,

cls()

언급URL : https://stackoverflow.com/questions/1432480/any-way-to-clear-pythons-idle-window

반응형