今日、Windows で notepad++ を使用して Python スクリプトを作成し、それを Linux サーバーに渡して実行すると、メッセージが表示されました: -bash: ./logger.py: usr/bin/python^M: bad interpreter: Noそのようなファイルまたはディレクトリ
1.原因分析
これは、システムのエンコード形式の違いが原因で発生します。Windows システムで編集された logger.py ファイルには、目に見えない文字が含まれている可能性があるため、Linux システムで実行すると、上記の例外メッセージが報告されます。これは通常、Windows と Linux で行末識別子が異なることが原因で、Windows では行末文字が「rn」ですが、Linux では行末文字が「n」であり、^M は「r」です。アスキー。
2.解決策
1) Windows で変換:
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, then 次のコマンドを使用してファイル形式を変更します: set ff=unix または :et fileformat=unix 最後に wq (保存して終了)
最後に、ファイル ./filename を実行します
以上がWindows で Python スクリプトを作成し、Linux で実行すると、次のエラーが発生します: usr/bin/python^M: bad interpreter: No such file or directoryの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。