Linux 터미널을 사용하여 특정 Python 코드 줄을 인쇄하는 방법은 무엇입니까?

Linux 터미널을 사용하여 특정 Python 코드 줄을 인쇄하는 방법은 무엇입니까?

Python을 작성 중이고 터미널에 특정 줄만 표시하고 싶다면 어떤 명령을 사용해야 합니까? 예를 들어, 내 프로그램은 다음과 같습니다. print("첫 번째 줄") print("두 번째 줄") print("세 번째 줄")

두 번째 줄의 코드만 터미널에 표시되기를 원합니다. print("두 번째 줄") - 전체 프로그램을 실행하는 데 사용하는 명령은 pythonprogramname.py인데 특정 줄을 어떻게 인쇄합니까?

답변1

n파일의 행을 보고 싶다고 가정하면 다음과 같이 간단히 수행할 수 있습니다.

sed -n '42p' yourfile.py

42보고 싶은 줄 번호로 바꾸세요 .

편집 후: 원하는 경우구현하다이 코드는 다음으로 파이프하면 됩니다 python.

sed -n '42p' yourfile.py | python

답변2

대체 awk솔루션:

awk "NR==2" programname.py

답변3

bash/shell이 ​​익숙하지 않다면 Python 스크립트를 작성하여 이를 수행할 수도 있습니다!

#!usr/bin/env python
# usage: ./script file line_no
import sys
data = ''
with open(sys.argv[1],'r') as f:
    data = f.read()
data = data.split('\n')
try:
    print data[sys[2] +1]
except IndexError:
    print "Line doesn't exist"

참고: 이것은 단지 빠르고 더러운 예일 뿐입니다. 원하는 대로 개선할 수 있습니다.

답변4

@DoorKnob 답변을 바탕으로 누구든지 검색에서 이를 발견하면출력의 n번째 줄을 찾고 싶습니다.. 그럼 이렇게 하세요.

run-program | sed -n '2p'

그러면 출력의 42번째 줄이 인쇄됩니다.run-program

예를 들어

python yourfile.py | sed -n `2p`

관련 정보