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

पायथन जीएनयू रीडलाइन इंटरफ़ेस

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

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

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

import readline

GNU रीडलाइन के कुछ तरीके इस प्रकार हैं -

<टीडी>

readline.parse_and_bind(string)

रीडलाइन init फ़ाइल से सिंगल लाइन लें और उन्हें पार्स करने के बाद निष्पादित करें।

<टीडी>

readline.get_line_buffer()

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

<टीडी>

readline.insert_text(string)

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

<टीडी>

readline.read_init_file([filename])

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

<टीडी>

readline.read_history_file([filename])

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

. है <टीडी>

readline.write_history_file([filename])

इतिहास को दी गई फ़ाइल में सहेजें। डिफ़ॉल्ट फ़ाइल ~/.इतिहास

है <टीडी>

readline.clear_history()

वर्तमान इतिहास साफ़ करें

<टीडी>

readline.get_history_length()

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

<टीडी>

readline.set_history_length(लंबाई)

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

<टीडी>

<बी>रीडलाइन। get_current_history_length ()

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

<टीडी>

readline.get_history_item(index)

अनुक्रमणिका का उपयोग करके इतिहास आइटम प्राप्त करें

<टीडी>

readline.remove_history_item(pos)

स्थिति के आधार पर इतिहास हटाएं

<टीडी>

readline.replace_history_item(pos, line)

इतिहास को स्थिति से बदलें

<टीडी>

readline.redisplay()

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

<टीडी>

readline.get_begidx()

टैब-पूर्णता स्कोप की प्रारंभिक अनुक्रमणिका प्राप्त करना

<टीडी>

readline.get_endidx()

टैब-पूर्णता स्कोप की समाप्ति अनुक्रमणिका प्राप्त करना

<टीडी>

readline.add_history(line)

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

Sr.No. कार्य और विवरण
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

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

उदाहरण कोड

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() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. पायथन (सॉकेट) में निम्न-स्तरीय नेटवर्किंग इंटरफ़ेस

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

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

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