Devolopment/기타
C/C++, Java, Python 에서의 줄번호 출력하기
OpenUiz
2023. 8. 16. 17:42
반응형
현재 실행중인 라인번호를 알고싶은 경우가 있다.
이 경우 각 언어별로 다음과 같은 방법을 사용하면 된다.
Java
int currentLine = new Throwable().getStackTrace()[0].getLineNumber();
System.out.println("(line number)" + currentLine); // 2
C
#include <stdio.h>
void main() {
printf("%s\n", __FILE__); // file name
printf("%d\n", __LINE__); // line number: 5
}
C++
#include <iostream>
int main() {
std::cout << __LINE__ << std::endl; // 4
return 0;
}
Python
# line number: 이 함수를 호출한 곳의 라인번호를 출력
def getLinenumber():
import inspect
cf = inspect.currentframe()
return cf.f_back.f_lineno
# function name: 이 함수를 호출한 곳의 함수이름을 출력
def getfuncName():
import inspect
cf = inspect.currentframe()
return cf.f_back.f_code.co_name
# file name: 이 함수를 호출한 곳의 파일이름을 출력
def getFilename():
import inspect
frame = inspect.stack()[1]
module = inspect.getmodule(frame[0])
filename = module.__file__
return filename.split('/')[-1]반응형