티스토리 뷰

반응형

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

반응형
댓글
공지사항
최근에 올라온 글