Python과 BASH의 비교

Python과 BASH의 비교

저는 지난 3주 동안 bash를 공부해왔는데, 기본적으로 명령줄 입력이기 때문에 배우기가 매우 쉽습니다. 나는 이제 Python으로 전환하기로 결정했지만 그것을 배우려고 노력하는 동안 내내 길을 잃었습니다. 내 질문은 파이썬에 관한 것인데, 모든 것이 숫자, 목록, 변수 등을 중심으로 돌아가는 것 같습니다. 반면 bash는 명령에 대해 훨씬 더 간단한 것 같습니다. 파일을 이동하거나 디렉터리를 변경하거나 이와 유사한 방법이 있는 Python의 예를 찾을 수 없습니다. 나는 파이썬을 배우기에는 이미 bash에 너무 익숙해진 것 같습니다. 누군가 나에게 이것에 대해 설명해 주시겠습니까?

답변1

Bash는 프로그래밍 언어가 아니라 빠르게 명령을 입력하고 실행하는 것을 목표로 하는 쉘입니다. 따라서 작업(예: mv파일 및 디렉터리 이동)을 수행하는 다른 명령을 실행합니다. Bash의 변수는 제한되어 있으며 명령은 모두 문자열이므로 매우 엄격할 이유가 없습니다. (유형을 강제하는 것은 가능합니다 help declare. 참조)

반면 Python은 더 많은 언어 기능을 갖춘 더 광범위한 프로그래밍 언어입니다. 다른 프로그램을 실행하는 대신 내장 함수나 모듈(다른 언어의 라이브러리)의 다른 기능을 사용합니다. Python의 입력/출력에 대한 기본 튜토리얼은 다음을 참조하세요.http://docs.python.org/tutorial/inputoutput.html. Python으로 프로그래밍을 시작하고 싶다면 전체 튜토리얼 자체를 읽어 볼 가치가 있습니다.

답변2

Python은 프로그램 언어입니다. 다른 모든 프로그래밍 언어와 마찬가지로 프로세스와 데이터를 설명하도록 설계되었습니다. 대부분의 질문은 모듈의 운영 체제에 대한 API os(예: os.chdir()os.rename()(UNIX mv명령의 경우))를 다룹니다.

셸은 다양한 수준(파일, 프로세스 등)에서 운영 체제에 쉽게 액세스할 수 있도록 고안된 운영 환경입니다. 여기에는 변수, 루프 및 조건과 같은 프로그래밍 구성이 포함되므로 이러한 의미에서 프로그래밍 언어이지만 진화하도록 설계된 것은 아닙니다. 쉘 스크립트를 사용하면 아주 놀라운 일을 할 수 있습니다. 저는 한 달에 60,000개의 요청을 처리하는 통화 추적 시스템을 작성한 적이 있습니다. 하지만 컴퓨터 언어가 더 잘 처리할 수 있다는 한계도 있습니다.

예를 들어, 당신은~할 수 있었다Bash로 웹 브라우저를 작성하지만 특히 html, css 및 javascript 페이지를 동시에 다운로드하고 사용자 입력을 처리하려고 할 때 비효율적입니다. 스레드에 액세스할 수 있는 Python과 같은 프로그래밍 언어는 이를 보다 효율적으로 처리합니다.

Python에도 "셸"이 있지만 운영 체제에 액세스하는 데 사용하기 쉬운 것은 아닙니다. 하지만 사용할 수 있습니다. 예를 들어, 쉘 명령은 mv * otherdirectoryPython에서 다음과 같이 작성됩니다.

import os, glob
for fname in glob.glob('*'):
    os.rename(fname, 'otherdirectory')

또는 더 간결하게:

import os, glob
[os.rename(fname, 'otherdirectory') for fname in glob.glob('*')]

대부분의 언어 튜토리얼에서는 언어를 먼저 이해하고 나중에 운영 체제와 인터페이스하는 방법을 이해하기를 원합니다. 셸의 경우 먼저 운영 체제와 인터페이스하는 방법을 이해해야 합니다.

관련 정보