#!/usr/bin/python
#!/usr/bin/python → 보통 Python 2를 가리킴#!/usr/bin/python3 → Python 3 명확히 지정단점: 시스템에 따라
/usr/bin/python이 Python 2일 수도, 3일 수도 있음. 100% 확실한 건 아님.
print 구문print "[*] Uploading the malicious image..."
print() 함수 형태여야 함print("[*] Uploading the malicious image...") # Python 3
raw_input() 사용input = raw_input("$ ")
raw_input() 사용raw_input()이 제거되고 input()만 존재함✅ 따라서
raw_input()은 Python 2임을 거의 확정할 수 있음
requests.get().text를 그대로 출력이 부분은 Python 2, 3 공통으로 동작합니다. 차이는 없습니다.
print 문과 input() 이름의 충돌 여부input = raw_input("$ ")
input이라는 변수 이름을 쓰고 있음input은 내장 함수이므로 이런 식으로 덮어쓰면 문제 생길 수 있음이 스크립트는 명백히 Python 2 스크립트입니다.
| 특징 | 설명 | 버전 |
|---|---|---|
#!/usr/bin/python | 기본 인터프리터 명시 | 보통 Python 2 |
print "문자열" | 괄호 없이 print 사용 | ✅ Python 2 |
raw_input() | 사용자 입력 함수 | ✅ Python 2 |
| 기능 | Python 1 | Python 2 | Python 3 |
|---|---|---|---|
print | 문장 | 문장 | 함수 |
raw_input() | ❌ 없음 | ✅ 있음 | ❌ 사라짐 |
input() | 위험 (코드 실행됨) | 코드 평가 (eval) | ✅ 사용자 입력 문자열 |
| Unicode 지원 | ❌ 없음 | 제한적 (u"...") | ✅ 기본 지원 |
Division (/) | 정수 나눗셈 | 정수 나눗셈 | ✅ 실수 나눗셈 |
xrange() | ❌ 없음 | ✅ 있음 | ❌ 사라짐 (range 사용) |
⚠️ Python 1은 현재 거의 사용되지 않으며, 실제 분석에서 볼 일은 거의 없습니다.