রিডলাইন ইউনিক্স নির্দিষ্ট মডিউল। এটি পাইথন ইন্টারপ্রেটার থেকে সহজ উপায়ে ইতিহাস ফাইলগুলি পড়তে এবং লেখার জন্য বেশ কয়েকটি ফাংশন সংজ্ঞায়িত করে। আমরা এই মডিউলটি সরাসরি বা rlcompleter ব্যবহার করে ব্যবহার করতে পারি মডিউল এই মডিউল সেটিংস বিল্ট-ইন ইনপুট() পদ্ধতি প্রম্পট এবং ইন্টারেক্টিভ প্রম্পটকেও প্রভাবিত করতে পারে।
MAC ভিত্তিক সিস্টেমের জন্য (MAC OS X-এ) এই রিডলাইন মডিউল libedit লাইব্রেরি ব্যবহার করে প্রয়োগ করা যেতে পারে। libedit কনফিগারেশন GNU রিডলাইন থেকে আলাদা।
এই মডিউলটি ব্যবহার করার জন্য, আমাদের পাইথন কোডে রিডলাইন মডিউল আমদানি করতে হবে
import readline
GNU রিডলাইনের কিছু পদ্ধতি নিম্নরূপ -
| Sr.No. | ফাংশন এবং বর্ণনা |
|---|---|
| 1 | readline.parse_and_bind(স্ট্রিং) রিডলাইন ইনিট ফাইল থেকে একক লাইন নিন এবং পার্স করার পরে সেগুলি চালান৷ |
| 2 | readline.get_line_buffer() লাইন বাফারের বর্তমান বিষয়বস্তু পান |
| 3 | readline.insert_text(string) কমান্ড লাইনে পাঠ্য সন্নিবেশ করুন |
| 4 | readline.read_init_file([ফাইলের নাম]) একটি রিডলাইন ইনিশিয়ালাইজেশন ফাইল পার্স করুন। ডিফল্ট মান হল সর্বশেষ প্রদত্ত মান৷ |
| 5 | readline.read_history_file([ফাইলের নাম]) প্রদত্ত ফাইল থেকে ইতিহাস পড়ুন। ডিফল্ট ফাইলের নাম হল ~/.history |
| 6 | readline.write_history_file([ফাইলের নাম]) প্রদত্ত ফাইলে ইতিহাস সংরক্ষণ করুন। ডিফল্ট ফাইল হল ~/.history |
| 7 | readline.clear_history() বর্তমান ইতিহাস সাফ করুন |
| 8 | readline.get_history_length() ইতিহাস ফাইলের সর্বোচ্চ দৈর্ঘ্য পান। |
| 9 | readline.set_history_length(দৈর্ঘ্য) ইতিহাস ফাইলের দৈর্ঘ্য সেট করুন (লাইনের সংখ্যা) |
| 10 | রিডলাইন। 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(লাইন) ইতিহাস বাফারের শেষে একটি লাইন যোগ করুন |
এই কোডটি ইতিহাস ফাইল পড়তে এবং হোম ডিরেক্টরির ভিতরে সংরক্ষণ করতে ব্যবহৃত হয়। কোডটি কাজ করবে যখন এটি কম্পাইল করা হবে এবং ইন্টারেক্টিভ মোডে চালানো হবে। পাইথন শেল থেকে প্রস্থান করার পরে, এটি ইতিহাস ফাইল সংরক্ষণ করবে।
উদাহরণ কোড
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()
$