में डालने के लिए वापस लौटें। मैं सामान्य आईएम क्लाइंट्स का व्यवहार प्राप्त करने की कोशिश कर रहा हूं जो Return
का उपयोग टेक्स्ट भेजने के लिए Shift + Return
का उपयोग करने के लिए करते हैं। क्या पाइथन में न्यूनतम प्रयास के साथ इसे प्राप्त करने का कोई तरीका है, उदाहरण के लिए readline और raw_input
?शिफ्ट + पायथन
उत्तर
ठीक है, मैंने सुना है कि इसे readline
के साथ भी पूरा किया जा सकता है।
आप import readline
कर सकते हैं और एक मैक्रो में अपनी वांछित कुंजी (Shift + Enter) कॉन्फ़िगरेशन में सेट कर सकते हैं जो कुछ विशेष char को लाइन और न्यूलाइन के अंत में डाल देता है। फिर आप एक लूप में raw_input
पर कॉल कर सकते हैं।
इस तरह:
import readline
# I am using Ctrl+K to insert line break
# (dont know what symbol is for shift+enter)
readline.parse_and_bind('C-k: "#\n"')
text = []
line = "#"
while line and line[-1]=='#':
line = raw_input("> ")
if line.endswith("#"):
text.append(line[:-1])
else:
text.append(line)
# all lines are in "text" list variable
print "\n".join(text)
मुझे संदेह है कि आप केवल readline
मॉड्यूल का उपयोग करने में सक्षम होंगे क्योंकि यह दबाए गए व्यक्तिगत कुंजी को कैप्चर नहीं करेगा और बल्कि आपके इनपुट ड्राइवर से वर्ण प्रतिक्रियाओं को संसाधित करेगा।
आप हालांकि PyHook साथ यह कर सकता है और अपने readline
धारा में एक नया ऑनलाइन इंजेक्षन करने के लिए यदि Shift
कुंजी Enter
कुंजी के साथ दबाया जाता है।
धन्यवाद, लेकिन मैं * निक्स के साथ प्लेटफार्म संगतता बनाए रखना चाहता हूं! –
मुझे लगता है कि न्यूनतम प्रयास के साथ आप पाइथन के लिए urwid लाइब्रेरी का उपयोग कर सकते हैं। दुर्भाग्यवश, यह आपकी आवश्यकता को रीडलाइन/raw_input का उपयोग करने के लिए संतुष्ट नहीं करता है।
अद्यतन: अन्य समाधान के लिए कृपया this answer भी देखें।
import readline
# I am using Ctrl+x to insert line break
# (dont know the symbols and bindings for meta-key or shift-key,
# let alone 4 shift+enter)
def startup_hook():
readline.insert_text('» ') # \033[32m»\033[0m
def prmpt():
try:
readline.parse_and_bind('tab: complete')
readline.parse_and_bind('set editing-mode vi')
readline.parse_and_bind('C-x: "\x16\n"') # \x16 is C-v which writes
readline.set_startup_hook(startup_hook) # the \n without returning
except Exception as e: # thus no need 4 appending
print (e) # '#' 2 write multilines
return # simply use ctrl-x or other some other bind
while True: # instead of shift + enter
try:
line = raw_input()
print '%s' % line
except EOFError:
print 'EOF signaled, exiting...'
break
# It can probably be improved more to use meta+key or maybe even shift enter
# Anyways sry 4 any errors I probably may have made.. first time answering
- 1. घने शिफ्ट बनाम शिफ्ट?
- 2. विम के शिफ्ट-एच और शिफ्ट-एल
- 3. शिफ्ट मूल्यों
- 4. बिट शिफ्ट जब कोई नहीं है ... बिट शिफ्ट ऑपरेटर
- 5. AS3 bitwise शिफ्ट 0?
- 6. अजगर अहस्ताक्षरित सही शिफ्ट
- 7. जीडब्ल्यूटी में शिफ्ट कुंजी?
- 8. ब्राउज़र स्क्रॉलबार शिफ्ट
- 9. बिटअरे - शिफ्ट बिट्स
- 10. शिफ्ट निष्कर्षण - opencv
- 11. एंड्रॉइड में डीकोड शिफ्ट-जेस
- 12. आईफोन कीबोर्ड शिफ्ट कुंजी अक्षम
- 13. न्यूनतम चक्रीय शिफ्ट एल्गोरिदम स्पष्टीकरण
- 14. सी # बिटवाइड शिफ्ट ushort (UInt16)
- 15. जावा में दो राइट शिफ्ट ऑपरेटर और केवल एक ही बाएं शिफ्ट ऑपरेटर क्यों हैं?
- 16. पर्ल द्वारा जारी किए गए चेतावनी के बिना "शिफ्ट का उपयोग" शिफ्ट क्यों अस्पष्ट है?
- 17. एक कंपाइलर में "शिफ्ट/शिफ्ट" संघर्ष क्यों नहीं हो सकता है?
- 18. राइट-शिफ्ट ऑपरेटर एक पायथन प्रिंट स्टेटमेंट में कैसे काम करता है?
- 19. मीन शिफ्ट का उपयोग करके छवि सेगमेंटेशन
- 20. बिट शिफ्ट कंपाइलर बग या कोने केस?
- 21. कैप्चर करें "शिफ्ट + टैब" कीप्रेस इवेंट
- 22. पर्ल में शिफ्ट() क्या करता है?
- 23. VB.NET में bitwise शिफ्ट कैसे करें?
- 24. शैल शिफ्ट प्रक्रिया - यह क्या है?
- 25. बिटवाईट शिफ्ट ऑपरेटर। हस्ताक्षरित और हस्ताक्षरित
- 26. PHP बिना हस्ताक्षर किए गए दाएं शिफ्ट -
- 27. इंडेक्स का उपयोग इंडेंट (शिफ्ट 4) कोड
- 28. एलसी 3 असेंबली बिटवाई राइट शिफ्ट
- 29. मैं विम में शिफ्ट + स्पेसबार पेज कैसे बना सकता हूं?
- 30. बाश में तारों की गोलाकार शिफ्ट कैसे करें?
आप मंच पर निर्भर या स्वतंत्र जवाब के लिए देख रहे हैं? – Jiri
यदि संभव हो तो प्लेटफ़ॉर्म स्वतंत्र है, लेकिन * निक्स संगत को एप्लिकेशन लक्ष्य कमांड लाइन उपयोगकर्ताओं के रूप में वैसे भी करना चाहिए। –