>  기사  >  백엔드 개발  >  Window에서 Python 스크립트를 작성하고 Linux에서 실행하면 다음 오류가 발생합니다. usr/bin/python^M: 잘못된 해석기: 해당 파일 또는 디렉터리가 없습니다.

Window에서 Python 스크립트를 작성하고 Linux에서 실행하면 다음 오류가 발생합니다. usr/bin/python^M: 잘못된 해석기: 해당 파일 또는 디렉터리가 없습니다.

PHP中文网
PHP中文网원래의
2017-07-14 18:13:191469검색

 오늘 Windows에서 notepad++를 사용하여 Python 스크립트를 작성했습니다. Linux 서버에 전달하고 실행한 후 다음 메시지가 표시되었습니다. -bash: ./logger.py: usr/bin/python^M: badinterpreter: No 그런 파일이나 디렉터리

1.원인분석
이는 시스템 인코딩 형식이 다르기 때문에 발생합니다. Windows 시스템에서 편집한 logger.py 파일에는 보이지 않는 문자가 있을 수 있으므로 Linux 시스템에서 실행하면 위의 예외 메시지가 보고됩니다. 이는 일반적으로 Windows와 Linux의 줄 끝 식별자가 다르기 때문에 발생합니다. Windows에서 줄 끝 문자는 'rn'인 반면 Linux에서는 줄 끝 문자는 'n'이고 ^M은 'r'입니다. ASCII.

2.해결책
1) 창에서 변환:
UltraEdit 또는 EditPlus와 같은 일부 편집기 및 기타 도구를 사용하여 스크립트 인코딩을 먼저 변환한 다음 Linux에서 실행하십시오. 변환 방법은 다음과 같습니다(UltraEdit): 파일-->변환-->DOS->UNIX.
2) Linux에서 직접 교체:
sed -i 's/^M//g' 파일 이름, 이는 파일 이름의 각 줄에 있는 ^M을 /로 바꾸는 것을 의미합니다(^M은 Linux에서 작성되고 ^M은 캐리지 리턴 및 줄 바꿈 문자입니다. 입력 방법 CTRL+V를 길게 누르고 v를 놓은 다음 m을 누르는 것입니다)
3) Linux에서도 변환 가능:
먼저 파일에 실행 권한이 있는지 확인하십시오: chmod a+x filename; 그런 다음 파일 형식을 수정하십시오. vi filename을 입력한 다음 set ff(또는 set fileformat) 명령을 사용하여 파일 형식(fileformat=dos 또는 fileformat)을 확인하십시오. =unix, 다음 명령을 사용하여 파일 형식을 수정합니다: set ff=unix 또는 :et fileformat=unix; finally wq(저장 및 종료)
마지막으로 ./filename

파일을 실행하세요.

위 내용은 Window에서 Python 스크립트를 작성하고 Linux에서 실행하면 다음 오류가 발생합니다. usr/bin/python^M: 잘못된 해석기: 해당 파일 또는 디렉터리가 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.