Dòng đọc là mô-đun cụ thể của UNIX. Nó xác định một số chức năng để đọc và ghi các tệp lịch sử theo cách dễ dàng hơn từ trình thông dịch python. Chúng tôi có thể sử dụng mô-đun này trực tiếp hoặc sử dụng rlcompleter mô-đun. Cài đặt mô-đun này có thể ảnh hưởng đến lời nhắc phương thức input () tích hợp sẵn và cả lời nhắc tương tác.
Đối với hệ thống dựa trên MAC (trên MAC OS X), dòng đọc này mô-đun có thể được triển khai bằng cách sử dụng thư viện libedit. Cấu hình libedit khác với dòng đọc GNU.
Để sử dụng mô-đun này, chúng tôi cần nhập mô-đun dòng đọc trong mã python
import readline
Một số phương pháp của GNU readline như sau -
Sr.No. | Chức năng &Mô tả |
---|---|
1 | readline.parse_and_bind (string) Lấy một dòng từ tệp init readline và thực thi chúng sau khi phân tích cú pháp. |
2 | readline.get_line_buffer () Nhận nội dung hiện tại của bộ đệm dòng |
3 | readline.insert_text (string) Chèn văn bản vào dòng lệnh |
4 | readline.read_init_file ([tên tệp]) Phân tích cú pháp tệp khởi tạo dòng đọc. Giá trị mặc định là giá trị được cung cấp cuối cùng. |
5 | readline.read_history_file ([tên tệp]) Đọc lịch sử từ tệp đã cho. Tên tệp mặc định là ~ / .history |
6 | readline.write_history_file ([tên tệp]) Lưu lịch sử vào tệp nhất định. Tệp mặc định là ~ / .history |
7 | readline.clear_history () Xóa lịch sử hiện tại |
8 | readline.get_history_length () Nhận độ dài tối đa của tệp lịch sử. |
9 | readline.set_history_length (chiều dài) Đặt độ dài tệp lịch sử (Số dòng) |
10 | dòng đọc. get_current_history_length () Nhận tổng số dòng trong tệp lịch sử |
11 | readline.get_history_item (chỉ mục) Nhận mục lịch sử bằng chỉ mục |
12 | readline.remove_history_item (pos) Xóa lịch sử theo vị trí |
13 | readline.replace_history_item (pos, line) Thay thế lịch sử theo vị trí |
14 | readline.redisplay () Hiển thị nội dung hiện tại của bộ đệm dòng |
15 | readline.get_begidx () Lấy chỉ mục bắt đầu của phạm vi hoàn thành tab |
16 | readline.get_endidx () Nhận chỉ mục kết thúc của phạm vi hoàn thành tab |
17 | readline.add_history (dòng) Nối một dòng vào cuối bộ đệm lịch sử |
Mã này được sử dụng để đọc tệp lịch sử và lưu trữ nó bên trong thư mục chính. Mã sẽ hoạt động khi nó được biên dịch và chạy ở chế độ tương tác. Sau khi thoát khỏi python shell, nó sẽ lưu trữ tệp lịch sử.
Mã mẫu
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
Chạy trong trình bao tương tác -
$ 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() $