python 휴대용 버 전이 py 파일 을 직접 실행 할 수 없 는 문 제 를 해결 합 니 다.
관련:휴대용 python 에서 python 스 크 립 트 를 직접 실행 할 수 없 는 문제
증상:py 스 크 립 트 를 직접 실행 하면 파 라 메 터 를 전달 할 수 없습니다.
python 휴대용 버 전 을 정상적으로 사용 할 수 있 는 경우 python sqlmap.py-u xxx 를 정상적으로 사용 할 수 있 습 니 다.
py 파일 을 python.exe 로 열 때 sqlmap.py-u xxx 를 직접 실행 하면 파 라 메 터 를 전달 할 수 없습니다.
원인:레 지 스 트 키 에 전달 매개 변수 가 부족 합 니 다.
휴대용 python 을 지정 하여 py 스 크 립 트 를 열 때 레 지 스 트 에서 열 리 는 방식 키 값 에서 매개 변 수 를 전달 하 는 기능 이 적 습 니 다.
C:/python 경로/python.exe"%1"%*이 필요 합 니 다.그 중에서"%1"%*은(는)인 자 를 전달 하 는 역할 을 합 니 다.
그러나 레 지 스 트 에는'C:/python 경로\python.exe''%1'만 추가 되 어 있어 py 스 크 립 트 를 직접 실행 할 수 없습니다.
예시:정상적으로 사용 할 수 있 는 등록 표
HKEY_CLASSES_ROOT.py
HKEY_CLASSES_ROOT.py_auto_file\shell\open\command
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
복구 하 다.
첫 번 째 단계:py 파일 의 열 림 방식 을 지정 합 니 다.
py 파일 을 오른쪽 클릭 하 십시오.
레 지 스 트 복원
새 python.reg 내용 은 다음 과 같 습 니 다.[주의:그 중 C:\ProgramBase\\Python 37\\python.exe 는 제 python 경로 입 니 다.레 지 스 트 파일 에 슬 래 쉬 가 필요 합 니 다.\전의 특수 문자]
나 는 분할 선
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT.py]
@=".py_auto_file"
[HKEY_CLASSES_ROOT.py_auto_file]
[HKEY_CLASSES_ROOT.py_auto_file\shell]
[HKEY_CLASSES_ROOT.py_auto_file\shell\open]
[HKEY_CLASSES_ROOT.py_auto_file\shell\open\command]
@="“C:\Program_Base\Python37\python.exe” “%1” %*"
[HKEY_CLASSES_ROOT\Applications\python.exe]
[HKEY_CLASSES_ROOT\Applications\python.exe\shell]
[HKEY_CLASSES_ROOT\Applications\python.exe\shell\open]
[HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command]
@="“C:\Program_Base\Python37\python.exe” “%1” %*"
나 는 분할 선
복구 결과:OK
확장:python 2-3 스 크 립 트 공존 문제
질문:
여기에 py 스 크 립 트 호출 문제 가 있 습 니 다.현재 python 2 에 필요 한 것 이 있 기 때문에 열 리 는 방식 을 선택 하 시 겠 습 니까?python 2 를 선택 하 시 겠 습 니까?python 3 을 선택 하 시 겠 습 니까?기본 값 과 동시에 하나 만 유효 합 니 다.
예 를 들 면:
기본 열 림 방식 이 python 3 의 exe 라면[sqlmap.py C u xxx]python 3 을 호출 하여 py 스 크 립 트 를 실행 하 는 것 이 분명 합 니 다.
해결 방향:
python 2 스 크 립 트 를.py2 로 바 꾼 다음 위 동작 에 따라 레 지 스 트 를 바 꿉 니 다.
자세 한 절차:
1.먼저.py2 파일 의 열기 방식 을 지정 합 니 다.2.레 지 스 트 파일 python 2.reg 가 져 오기
새 python 2.reg 내용 은 다음 과 같 습 니 다.
[주의:그 중 C:\ProgramBase\\Python 27\\python.exe 는 제 python 2 경로 입 니 다.레 지 스 트 파일 에 슬 래 쉬 가 필요 합 니 다.\전의 특수 문자]
나 는 분할 선
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT.py2]
@=".py2_auto_file"
[HKEY_CLASSES_ROOT.py2_auto_file]
[HKEY_CLASSES_ROOT.py2_auto_file\shell]
[HKEY_CLASSES_ROOT.py2_auto_file\shell\open]
[HKEY_CLASSES_ROOT.py2_auto_file\shell\open\command]
@="“C:\Program_Base\Python27\python.exe” “%1” %*"
나 는 분할 선
\#부족 한 부분 은 중복 부분 에 속 합 니 다.무시 할 수 있 습 니 다.
실제 삭제[HKEYCLASSES_ROOT\Applications\\python 2.exe]키 값 이 맞습니다.python sqlmap.py-h 와 sqlmap.py-h 를 정상적으로 실행 할 수 있 습 니 다.
추가 지식:Python 학습 의 설치 디 렉 터 리 에 있 는 python.exe 와 python.exe 파일 의 차이
python.exe 는 프로그램 을 실행 할 때 검은색 콘 솔 창(명령 행 창,DOS/CMD 창 이 라 고도 함)이 팝 업 됩 니 다.
python w.exe 는 창 이 없 는 Python 실행 가능 한 프로그램 입 니 다.프로그램 을 실행 할 때 창 이 팝 업 되 지 않 고 코드 가 배경 에서 실행 된다 는 뜻 입 니 다.
.py 와*.py**파일 의 차이 도 python.exe 와 python.exe 의 차이 에서 비롯 됩 니 다.
Windows 판 Python 을 설치 할 때 확장자 가.py 인 파일 은 기본적으로 python.exe 로 실행 되 는 파일 이 고,.pyw 파일 은 기본적으로 python.exe 로 실 행 됩 니 다.
.pyw 형식 은 개발 한 순수 그래 픽 인터페이스 프로그램 을 실행 하도록 설계 되 었 으 며,순수 그래 픽 인터페이스 프로그램의 사용 자 는 콘 솔 창 을 볼 필요 가 없습니다.순수 그래 픽 인터페이스 프로그램 을 개발 할 때,잠시.pyw 를.py 로 바 꿀 수 있 으 며,실행 할 때 콘 솔 창 을 바 꾸 어 모든 오류 정 보 를 쉽게 볼 수 있 습 니 다.
.pyc 파일 은 Python 해석 기 가 프로그램 을 실행 하 는 과정 에서 발생 하 는 바이트 파일(즉 중간 에 생 성 된 파일)입 니 다.
여기 서 또 하나의 문 제 를 설명 해 야 합 니 다.만약 에.py 파일 이 python.exe 로 열 리 면 파일 이 실 행 된 후에 창 이 바로 닫 힙 니 다.창 을 머 무 르 게 하려 면 두 가지 방법 을 제공 합 니 다.
① 프로그램 에서 import time 모듈 에 time.sleep(1800)와 같은 긴 수면 문 구 를 추가 할 수 있 습 니 다.창 을 수 동 으로 닫 지 않 으 면 창 이 30min 머 물 것 입 니 다.
② sys 와 os 모듈 을 호출 하여 명령 행 문 구 를 pause(개인 적 으로 소 칼 로 닭 을 잡 는 느낌 이 든다).
이상 python 휴대용 버 전이 py 파일 을 직접 실행 할 수 없 는 문 제 를 해결 하 는 것 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.