पायथन स्क्रिप्ट प्रोग्राम चलाने में सक्षम नहीं त्रुटि: / usr / bin / python3 ^ M: खराब दुभाषिया:

Sep 28 2020

तो मूल रूप से मैं ubuntu 20.04lts पर अजगर में एक मल्टीक्लिपबोर्ड प्रोग्राम चलाने की कोशिश कर रहा हूं। मैंने सभी आवश्यक आवश्यकताओं को निर्देशों के अनुसार पूरा किया लेकिन फिर भी अटक गया।

#! /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()

मैं सही निर्देशिका में गया और इन आदेशों को निष्पादित किया।

 chmod +x  mcb.py

और कार्यक्रम चलाने के लिए,

./mcb.py

यहाँ मुझे एक त्रुटि का सामना करना पड़ा,

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

क्या आप कृपया मेरी मदद कर सकते हैं? क्या मुझे कुछ याद आ रहा है या कहीं गलत हो रहा है?

जवाब

1 karel Sep 28 2020 at 15:19

निम्नलिखित त्रुटि संदेश द्वारा बताए अनुसार आपके कोड में पहली पंक्ति के अंत में आपके पास एक खराब कैरिज रिटर्न चरित्र है।

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

^Mएक गाड़ी वापसी चरित्र है। यदि आप इसे देखते हैं, तो आप संभवतः एक ऐसी फाइल को देख रहे हैं, जो DOS / Windows की दुनिया में उत्पन्न हुई है, जहां एक एंड-ऑफ-लाइन एक गाड़ी रिटर्न / न्यूलाइन जोड़ी द्वारा चिह्नित है, जबकि यूनिक्स दुनिया में, एंड-ऑफ-लाइन एक नई पंक्ति द्वारा चिह्नित है। स्रोत

त्रुटि से छुटकारा पाने के लिए एक नई mcb.py फ़ाइल बनाएं। डिफ़ॉल्ट टेक्स्ट एडिटर ऐप खोलें, अपने प्रश्न से कोड को कॉपी करें और इसे टेक्स्ट एडिटर (Ubuntu 20.04 में gedit) में पेस्ट करें, कोड को mcb.sh के रूप में सहेजें, और निम्नलिखित कमांड के साथ कोड फिर से चलाएँ:

chmod +x  mcb.sh
./mcb.sh