티스토리 뷰
반응형
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
filename and line number of Python script
Python 스크립트의 파일 이름 및 줄 번호
문제 내용
How can I get the file name and line number in a Python script?
파이썬 스크립트에서 파일 이름과 줄 번호를 얻으려면 어떻게 해야 하나요?
Exactly the file information we get from an exception traceback. In this case without raising an exception.
예외 추적에서 얻은 파일 정보와 정확히 일치합니다. 이 경우 예외를 발생시키지 않습니다.
높은 점수를 받은 Solution
Thanks to mcandre, the answer is:
Mcandre 덕분에 답은 다음과 같습니다:
#python3
from inspect import currentframe, getframeinfo
frameinfo = getframeinfo(currentframe())
print(frameinfo.filename, frameinfo.lineno)
가장 최근 달린 Solution
Here's a short function that prints the file name and line number.
여기 파일 이름과 줄 번호를 인쇄하는 간단한 함수입니다.
from inspect import currentframe, getframeinfo
def HERE(do_print=True):
''' Get the current file and line number in Python script. The line
number is taken from the caller, i.e. where this function is called.
Parameters
----------
do_print : boolean
If True, print the file name and line number to stdout.
Returns
-------
String with file name and line number if do_print is False.
Examples
--------
>>> HERE() # Prints to stdout
>>> print(HERE(do_print=False))
'''
frameinfo = getframeinfo(currentframe().f_back)
filename = frameinfo.filename.split('/')[-1]
linenumber = frameinfo.lineno
loc_str = 'File: %s, line: %d' % (filename, linenumber)
if do_print:
print('HERE AT %s' % (loc_str))
else:
return loc_str
Usage:
용도:
HERE() # Prints to stdout
# Output: HERE AT File: model.py, line: 275
print(HERE(False)) # Retrieves string and prints it.
# Output: File: model.py, line: 276
출처 : https://stackoverflow.com/questions/3056048/filename-and-line-number-of-python-script
반응형
'개발 > 파이썬' 카테고리의 다른 글
imdb.load_data() 호출 시 'Object arrays cannot be loaded when allow_pickle=False' 오류 수정하기 (0) | 2023.01.15 |
---|---|
'ImportError: no module named win32api' 수정하기 (0) | 2023.01.15 |
리스트 앞에 값이나 리스트 추가하기 (0) | 2023.01.14 |
판다스 데이터프레임에 특정 열이 있는지 확인하기 (0) | 2023.01.13 |
Pandas 데이터프레임에서 하나의 열을 기준으로 정렬하기 (0) | 2023.01.12 |
댓글
공지사항
최근에 올라온 글