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:

Sep 28 2020

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

1 karel Sep 28 2020 at 15:19

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