cuốn sách gpt4 ai đã làm

带日志记录的 Python 控制台

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:10:46 26 4
mua khóa gpt4 Nike

Tôi đang viết lại một chương trình máy chủ nơi tôi muốn thêm đầu vào bảng điều khiển đơn giản.

Hiện tại, nó chỉ cung cấp dữ liệu và in ra một hoặc hai dòng cho mọi việc nó thực hiện như một thước đo mô tả cho bất kỳ ai đang xem/gỡ lỗi.

Điều tôi muốn là có trường nhập "dính" luôn ở dưới cùng, phía trên đó xuất hiện bản in gỡ lỗi của tôi để tôi có thể nhập lệnh bất kỳ lúc nào trong khi chương trình in. Điều này trông giống như:

...
[88.88.88.88] Xử lý kết nối trên cổng 11452
[12.12.12.12] Dữ liệu đã nhận
[44.44.44.44] Gửi trình tự ngắt kết nối
>>>Nhập dữ liệu vào đây bất cứ lúc nào

Lý tưởng nhất là việc này được thực hiện mà không có lời nguyền rủa, vì điều này sẽ làm phức tạp mọi việc. Tôi cảm thấy như mình đang thiếu một giải pháp đơn giản.

提前致谢

Freddy.

câu trả lời hay nhất

Nếu bạn đang tìm kiếm nhiều hơn chửi rủa Đối với các thư viện nâng cao hơn một chút, đây là một số, chẳng hạn như urwid (Tất nhiên là chúng không đi kèm với Python và phải được cài đặt).

Nếu bạn thực sự muốn tránh sử dụng thư viện cửa sổ, tôi nghĩ bạn có thể thực hiện việc này trong màn hình Chạy máy chủ, được định cấu hình với trường đầu vào và cửa sổ còn lại, đồng thời cung cấp cho máy chủ hai TTY giả thay vì đầu vào thông thường... nhưng điều này sẽ bổ sung thêm nhiều công việc hơn chứ không phải ít hơn.

Nếu bạn muốn xuống cấp độ thấp hơn, bạn luôn có thể sử dụng thuật ngữ,tìm kiếm giới hạnvà viết các chuỗi điều khiển theo cách thủ công để xử lý thủ công việc cuộn mọi thứ trừ dòng cuối cùng, di chuyển con trỏ đầu vào, v.v. Nhưng điều này sẽ đòi hỏi nhiều công việc hơn.

Tất nhiên, luôn có khả năng siêu hack: với mỗi đầu ra và sau mỗi đầu vào, hãy "vẽ lại" toàn bộ màn hình bằng cách gửi vài trăm dòng trống, viết lại dòng đầu ra và đầu vào. Điều này có vẻ tệ và không hoạt động trong nhiều trường hợp cạnh khác nhau, nhưng nó tránh được bất kỳ loại cửa sổ nào.


Tuy nhiên, tôi nghĩ có một cách tốt hơn để giải quyết vấn đề này.

Bạn đã có một máy chủ. Tại sao không cung cấp API bảng điều khiển trên một cổng "điều khiển" khác (có thể chỉ trên localhost) thay vì trên stdin/stdout/tty? Điều này hoạt động ngay cả khi máy chủ đang chạy dưới dạng daemon. Điều này có nghĩa là bạn có thể sử dụng Telnet ưa thích hoặc ứng dụng khách tương tự làm bảng điều khiển thay vì phải viết thứ gì đó từ đầu.

Về bảng điều khiển Python có tính năng ghi nhật ký, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/18903501/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress