한 줄 명령줄에서 여러 줄 명령 실행
Python의 -c 옵션을 사용하여 한 줄 루프를 실행할 때, 루프 전에 모듈을 가져오면 구문 오류가 발생할 수 있습니다. 이 문제는 명령줄이 전체 명령을 단일 코드 줄로 처리하기 때문에 발생합니다.
이 제한을 극복하기 위해 여러 가지 접근 방식이 있습니다.
사용 Echo:
<code class="bash">echo -e "import sys\nfor r in range(10): print 'rob'" | python</code>
이 명령은 echo를 사용하여 명령 문자열에 줄바꿈을 삽입합니다. 그러면 Python은 이를 여러 줄로 해석합니다.
Exec 사용:
<code class="bash">python -c "exec(\"import sys\nfor r in range(10): print 'rob'\")"</code>
이 접근 방식은 exec 함수를 사용하여 문자열을 Python 코드로 동적으로 실행합니다.
서브셸 사용:
<code class="bash">(echo "import sys" ; echo "for r in range(10): print 'rob'") | python</code>
이 명령은 서브쉘을 사용하여 명령을 여러 줄로 분할합니다. 그런 다음 각 줄은 독립적으로 실행됩니다.
Crast의 답변 사용:
<code class="bash">python3 -c "import sys ; for r in range(10) : print('rob')"</code>
이 접근 방식은 for 루프 앞에 세미콜론을 추가하여 다음을 나타냅니다. import 문은 별도의 명령입니다.
SilentGhost의 답변 사용:
<code class="bash">python3 -c "import sys ; x = [print('rob') for r in range(10)][0]"</code>
이 접근 방식은 Python의 목록 이해 구문을 사용하여 루프를 실행합니다. 첫 번째 결과를 x에 할당합니다.
위 내용은 한 줄 명령줄에서 여러 줄 명령을 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!