Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन GNU रीडलाइन इंटरफेस

readline यूनिक्स-विशिष्ट मॉड्यूल है। यह पायथन इंटरप्रेटर से हिस्ट्री फाइल्स को आसान तरीके से पढ़ने और लिखने के लिए कई फंक्शन्स को परिभाषित करता है। हम इस मॉड्यूल का उपयोग सीधे या rlcompleter मॉड्यूल का उपयोग करके कर सकते हैं। इस मॉड्यूल की सेटिंग्स बिल्ट-इन input() मेथड प्रॉम्प्ट और इंटरैक्टिव प्रॉम्प्ट को भी प्रभावित कर सकती हैं।

MAC-आधारित सिस्टम (MAC OS X पर) के लिए यह readline मॉड्यूल libedit लाइब्रेरी का उपयोग करके लागू किया जा सकता है। libedit कॉन्फिगरेशन GNU रीडलाइन से अलग है।

इस मॉड्यूल का उपयोग करने के लिए, हमें पायथन कोड में readline मॉड्यूल आयात करने की आवश्यकता है।

import readline

GNU रीडलाइन के कुछ मेथड्स इस प्रकार हैं:

Sr.No.फंक्शन्स और विवरण
1

readline.parse_and_bind(string)

रीडलाइन इनिट फाइल से सिंगल लाइन लें और पार्स करने के बाद उन्हें एक्जीक्यूट करें।

2

readline.get_line_buffer()

लाइन बफर की वर्तमान सामग्री प्राप्त करें

3

readline.insert_text(string)

कमांड लाइन में टेक्स्ट डालें

4

readline.read_init_file([filename])

रीडलाइन इनिशियलाइजेशन फाइल पार्स करें। डिफ़ॉल्ट मान अंतिम प्रदान किया गया मान है।

5

readline.read_history_file([filename])

दिए गए फाइल से हिस्ट्री पढ़ें। डिफ़ॉल्ट फाइलनाम ~/.history है

6

readline.write_history_file([filename])

दिए गए फाइल में हिस्ट्री सेव करें। डिफ़ॉल्ट फाइल ~/.history है

7

readline.clear_history()

वर्तमान हिस्ट्री क्लियर करें

8

readline.get_history_length()

हिस्ट्री फाइल की अधिकतम लंबाई प्राप्त करें।

9

readline.set_history_length(length)

हिस्ट्री फाइल लंबाई सेट करें (लाइनों की संख्या)

10

readline.get_current_history_length()

हिस्ट्री फाइल में कुल लाइनों की संख्या प्राप्त करें

11

readline.get_history_item(index)

इंडेक्स का उपयोग करके हिस्ट्री आइटम प्राप्त करें

12

readline.remove_history_item(pos)

पोजीशन द्वारा हिस्ट्री हटाएं

13

readline.replace_history_item(pos, line)

पोजीशन द्वारा हिस्ट्री रिप्लेस करें

14

readline.redisplay()

लाइन बफर की वर्तमान सामग्री दिखाएं

15

readline.get_begidx()

टैब-कम्प्लीशन स्कोप का शुरुआती इंडेक्स प्राप्त करें

16

readline.get_endidx()

टैब-कम्प्लीशन स्कोप का अंतिम इंडेक्स प्राप्त करें

17

readline.add_history(line)

हिस्ट्री बफर के अंत में एक लाइन जोड़ें

यह कोड हिस्ट्री फाइल को पढ़ने और इसे होम डायरेक्टरी में स्टोर करने के लिए उपयोग किया जाता है। कोड तब काम करेगा जब इसे इंटरैक्टिव मोड में कंपाइल और रन किया जाए। पायथन शेल से बाहर निकलने के बाद, यह हिस्ट्री फाइल स्टोर करेगा।

उदाहरण कोड

import readline as rl
import os
import atexit

my_hist_file = os.path.join(os.path.expanduser("~"), ".my_python_hist")
try:
    rl.read_history_file(my_hist_file)
    rl.clear_history()
except FileNotFoundError:
    pass
print("Done")
atexit.register(rl.write_history_file, my_hist_file)
del os, my_hist_file

इंटरैक्टिव शेल में चलाएं:

$ python3
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exec(open("./readline_task.py").read())
Done
>>> print("readline_task.py is ececuted")
readline_task.py is ececuted
>>> print("History File will be updated after exit.")
History File will be updated after exit.
>>> 2 ** 10
1024
>>> 2 ** 20
1048576
>>> 2 ** 30
1073741824
>>> import math
>>> math.factorial(6)
720
>>> exit()
$ cat ~/.my_python_hist
print("readline_task.py is ececuted")
print("History File will be updated after exit.")
2 ** 10
2 ** 20
2 ** 30
import math
math.factorial(6)
exit()
$
  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. पायथन में लो-लेवल नेटवर्किंग इंटरफ़ेस (socket मॉड्यूल) पायथन में लो-लेवल नेटवर्किंग इंटरफ़ेस (socket मॉड्यूल)

    पायथन की स्टैंडर्ड लाइब्रेरी में socket मॉड्यूल परिभाषित करता है कि सर्वर और क्लाइंट मशीनें ऑपरेटिंग सिस्टम के ऊपर सॉकेट एंडपॉइंट्स का उपयोग करके कैसे संचार कर सकती हैं। socket API में कनेक्शन-ओरिएंटेड और कनेक्शनलेस दोनों नेटवर्क प्रोटोकॉल के लिए फ़ंक्शन्स होते हैं। सॉकेट टू-वे कम्युनिकेशन लिंक का

  1. - GNU रीडलाइन के लिए पायथन कम्प्लीशन फंक्शन

    यूनिक्स रीडलाइन मॉड्यूल में टैब कम्प्लीशन मैकेनिज्म है। इन सुविधाओं को प्राप्त करने के लिए, हमें rlcompleter मॉड्यूल का उपयोग करना होगा। इसका उपयोग पायथन के इंटरैक्टिव मोड में किया जा सकता है। इस मॉड्यूल का उपयोग करने के लिए, हमें इसे आयात करना चाहिए। import rlcompleter Completer नामक एक क्लास है: