Không thể chạy tập lệnh Python Lỗi chương trình: / usr / bin / python3 ^ M: bad thông dịch viên:
Vì vậy, về cơ bản tôi đang cố gắng chạy một chương trình đa bảng trong python trên ubuntu 20.04fter. Tôi đã hoàn thành tất cả các yêu cầu cần thiết theo hướng dẫn nhưng vẫn bị mắc kẹt.
#! /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()
Tôi đã đi đến đúng thư mục và thực hiện các lệnh này.
chmod +x mcb.py
và để chạy chương trình,
./mcb.py
Ở đây tôi đã gặp phải một Lỗi là,
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
Bạn có thể vui lòng giúp tôi với nó? Tôi có bỏ lỡ điều gì hoặc sai ở đâu đó không?
Trả lời
Bạn có một ký tự xuống dòng không hợp lệ ở cuối dòng đầu tiên trong mã của bạn như được thông báo bởi thông báo lỗi sau.
bash: ./mcb.py: /usr/bin/python3^M: bad interpreter: No such file or directory
Là ^Mmột ký tự xuống dòng. Nếu bạn thấy điều này, có thể bạn đang xem một tệp có nguồn gốc trong thế giới DOS / Windows, nơi cuối dòng được đánh dấu bằng cặp ký tự xuống dòng / dòng mới, trong khi trong thế giới Unix, cuối dòng được đánh dấu bằng một dòng mới. nguồn
Để loại bỏ lỗi, hãy tạo một tệp mcb.py mới. Mở ứng dụng Trình soạn thảo văn bản mặc định, sao chép mã từ câu hỏi của bạn và dán vào Trình soạn thảo văn bản (gedit trong Ubuntu 20.04), lưu mã dưới dạng mcb.sh và chạy lại mã bằng các lệnh sau:
chmod +x mcb.sh
./mcb.sh