PDB 명령과 이름이 충돌하는 변수를 조작하려면 어떻게 해야 합니까?
좋든 나쁘든 제 코드에는 제가 자주 상호 작용하는 NumPy뿐만 아니라 단일 문자 변수(물리학적인 것이므로 의미가 있습니다)가 많이 있습니다.
파이썬 디버거를 사용할 때, 때때로 나는 다음과 같은 가치를 보고 싶을 것입니다.n
하지만, 제가 칠 때는.n<enter>
그것이 PDB 명령입니다.(n)ext
더 높은 우선순위를 갖는 것.print n
어떻게 설정할 수 있을까요?
느낌표 사용!
명령문을 실행하기 전에:
python -m pdb test.py
> /home/user/test.py(1)<module>()
-> print('foo')
(Pdb) !n = 77
(Pdb) !n
77
(Pdb) n
foo
> /home/user/test.py(2)<module>()
-> print('bar')
(Pdb)
문서에는 다음과 같은 내용이 있습니다.
! statement
현재 스택 프레임의 컨텍스트에서 (한줄) 문을 실행합니다.문의 첫 번째 단어가 디버거 명령어와 유사하지 않으면 느낌표를 생략할 수 있습니다. [...]
세미콜론을 사용할 수 있으므로 그 앞에 다른 것을 놓으십시오.
ipdb> print n
2
ipdb> n
> 145 <some code here>
146
147
ipdb> 1; n=4
1
ipdb> print n
4
브래킷 사용(variable_name)
.
예를 들어, 이름이 지정된 변수가 하나 있는 경우q
그리고 당신은 그것의 가치를 확인하기를 원합니다.직접 입력하는 경우q
프롬프트에서, 그리고 나서.ipdb
디버깅 프로세스가 종료되고 중단됩니다.
>>> q
대신, 당신은 입력해야 합니다.(q)
이 변수를 확인하려면:
>>> (q)
그런 다음 값이 인쇄됩니다.
이것은 당신의 질문에 대한 직접적인 대답은 아니지만 도움이 될 수 있습니다. PuDB는 PDB를 위한 콘솔 기반 시각 인터페이스로, 설계상 명령과 변수 조작을 구분합니다.
Eric IDE, Wing IDE 및 Spyder의 일부만 언급하자면, 값 표시와 명령을 구분하기 때문에 시도해 볼 가치가 있는 비주얼 디버거가 있습니다.
언급URL : https://stackoverflow.com/questions/21123473/how-do-i-manipulate-a-variable-whose-name-conflicts-with-pdb-commands
'source' 카테고리의 다른 글
전체 경로가 없는 Python Glob - 파일 이름만 있음 (0) | 2023.08.07 |
---|---|
PHP 및 AJAX 보안 질문 (0) | 2023.08.07 |
Angular2 라우터(@angular/router), 기본 경로를 설정하는 방법은 무엇입니까? (0) | 2023.08.02 |
패키지의 라이센스 필드에 무엇을 넣어야 합니까?만약 내 코드가 내가 일하는 회사에서만 사용된다면 json? (0) | 2023.08.02 |
항목을 제거할 수 없습니다.디렉터리가 비어 있지 않습니다. (0) | 2023.08.02 |