ipython에서 변수를 지우는 방법은 무엇입니까?


146

때로는 동일한 ipython 세션 내에서 스크립트를 다시 실행하고 변수가 지워지지 않은 경우 놀라움이 발생합니다. 모든 변수를 지우려면 어떻게해야합니까? 그리고 내가 마법 명령 % run을 호출 할 때마다 어떻게 든 이것을 강제 할 수 있습니까?

감사

답변:


206

%reset 정의 된 변수를 지우는 것 같습니다.


2
감사. 각 % run 전에 자동으로 설정하는 방법이 있습니까?
메뚜기

2
전역 네임 스페이스를 깨끗하게 유지하기 위해 스크립트를 함수로 변환 할 수 있습니다.
Robert Pollak 2019

35
그냥 발견 % 리셋 -f 사용자의 확인없이 전역 네임 스페이스를 지 웁니다
WillJones

1
수동으로 더 : 어떤 때마다 확인에 예, -f이 큰 필요를 재설정하지
user3723247

1
@Victor %는 ipython 매직 명령에 사용됩니다. %reset ipython.readthedocs.io/en/stable/interactive/…
aisbaa

56

@ErdemKAYA 의견 후 편집.

변수를 지우려면 magic 명령을 사용하십시오.

%reset_selective <regular_expression>

네임 스페이스에서 지워지는 변수는 주어진 것과 일치하는 변수입니다 <regular_expression>.

따라서

%reset_selective -f a 

를 포함하는 모든 변수를 지 웁니다 a.

대신, 지우지 a않고 지우는 것 aa:

In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a  # raise NameError
In: aa  # returns 2

뿐만 아니라 참조 %reset_selective?더 많은 예제와 대한 https://regexone.com/ 을 .

네임 스페이스의 모든 변수를 지우려면 다음을 참조하십시오.

%reset?

9
그렇지 않으면 파이썬에서 "del a"를 사용할 수도 있습니다.
SeF

1
아니요,이 명령은 name_variable정규식으로 취급 되며 일치하는 항목을 제거합니다.
Erdem KAYA

@ErdemKAYA 감사합니다, 나는 그것을 전에 눈치 채지 못했습니다! 답변이 수정되었습니다.
SeF

1
전혀! :) 그것은 실제로 다소 직관적입니다.
Erdem KAYA

37

iPython에서는 다음 과 같은 단일 변수를 제거 할 수 있습니다 .

del x

13

나는 시도했다

%reset -f

프롬프트없이 모든 변수와 내용을 지 웁니다. yes / no를-f 묻지 않고 주어진 명령에 대해 강제 조치를 수행합니다 .

도움이 되길 바랍니다 .. :)


9

새 스크립트에 다음 행을 추가하면 스크립트를 다시 실행할 때마다 모든 변수가 지워집니다.

from IPython import get_ipython
get_ipython().magic('reset -sf') 

생활을 편하게하기 위해 기본 템플릿에 추가 할 수 있습니다.

스파이더에서 : Tools>Preferences>Editor>Edit template


스크립트에서 실행할 수도 있기 때문에 이것을 좋아합니다.
Zargo

4

앞에서 언급 한 방법 외에. del 명령을 사용하여 여러 변수를 제거 할 수도 있습니다.

del variable1,variable2

0

콘솔 패널의 종료 옵션은 변수 탐색기의 모든 변수를 지 웁니다.

*** 콘솔 패널에서 실행 한 모든 코드를 잃어 버릴 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.