Python-Skript kann nicht ausgeführt werden Programmfehler: / usr / bin / python3 ^ M: fehlerhafter Interpreter:

Sep 28 2020

Im Grunde versuche ich, ein Multiclipboard-Programm in Python auf Ubuntu 20.04lts auszuführen. Ich habe alle notwendigen Anforderungen gemäß den Anweisungen erfüllt, bin aber trotzdem festgefahren.

#! /usr/bin/python3


import sys, pyperclip,shelve

mcbShelf=shelve.open('mcb')
if len(sys.argv)==3 and sys.argv[1].lower=='save':
    mcbShelf[sys.argv[2]]=pyperclip.paste()
elif len(sys.argv)==2:
    if sys.argv[1].lower()=='list':
        pyperclip.copy(str(list(mcbShelf.keys())))
    elif sys.argv[1] in mcbShelf:
        pyperclip.copy(str(mcbShelf[sys.argv[1]]))
mcbShelf.close()

Ich ging in das richtige Verzeichnis und führte diese Befehle aus.

 chmod +x  mcb.py

und zum Ausführen des Programms,

./mcb.py

Hier stand ich vor einem Fehler als,

bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory

Können Sie mir bitte dabei helfen? Verpasse ich etwas oder irre ich mich irgendwo?

Antworten

1 karel Sep 28 2020 at 15:19

Sie haben am Ende der ersten Zeile Ihres Codes ein falsches Wagenrücklaufzeichen, wie in der folgenden Fehlermeldung angegeben.

bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory

Das ^Mist ein Wagenrücklaufzeichen. Wenn Sie dies sehen, sehen Sie sich wahrscheinlich eine Datei an, die aus der DOS / Windows-Welt stammt, in der ein Zeilenende durch ein Wagenrücklauf / Zeilenumbruch-Paar gekennzeichnet ist, während in der Unix-Welt das Zeilenende wird durch einen einzelnen Zeilenumbruch markiert. Quelle

Um den Fehler zu beseitigen, erstellen Sie eine neue mcb.py-Datei. Öffnen Sie die Standard-Texteditor-App, kopieren Sie den Code aus Ihrer Frage und fügen Sie ihn in den Texteditor ein (gedit in Ubuntu 20.04), speichern Sie den Code als mcb.sh und führen Sie den Code mit den folgenden Befehlen erneut aus:

chmod +x  mcb.sh
./mcb.sh