2009-06-04 29 views
5

Tôi hiện đang phát triển một ứng dụng đơn giản trong python kết nối với máy chủ. Tại thời điểm này, nó là đơn luồng (như hiện nay đa luồng không được yêu cầu).Python REPL cho một quy trình đang chạy

Tuy nhiên tôi muốn - để gỡ lỗi, bảo trì và như vậy cũng có thể có REPL qua stdin.

Tôi làm cách nào để thực hiện điều đó, nếu có thể? Tôi có cần ghi nhớ điều gì không? Tôi có phải tạo một sợi riêng biệt cho nó không?

Trả lời

1

Có thể this câu hỏi có thể hữu ích. Bạn có thể sửa đổi nó một chút để tạo ra một REPL tùy chỉnh.

3

Bạn cần phải không bị chặn hoặc sử dụng chuỗi.

Cá nhân tôi sẽ sử dụng Twisted để đồng thời, cũng cung cấp giao thức REPL dễ tích hợp.

+3

+1: xoắn cũng cung cấp cửa cống - một dịch vụ mà bạn có thể SSH vào ứng dụng của mình và nhận REPL để tương tác với ứng dụng trong khi đang chạy! – nosklo

+0

Tôi sẽ cho đi. Âm thanh như những gì tôi cần. – cwj

0

Ngoài ra còn có rfoo. Từ README:

rconsole - bao gồm trong gói rfoo là một Python console từ xa với hoàn thành tự động, có thể được sử dụng để kiểm tra và sửa đổi không gian tên của một kịch bản chạy.

Để kích hoạt trong một kịch bản làm:

from rfoo.utils import rconsole 
rconsole.spawn_server() 

Để đính kèm từ một vỏ làm:

$ rconsole 

AN SINH GHI CHÚ:
Người nghe rconsole bắt đầu với spawn_server() sẽ chấp nhận bất kỳ địa phương nào kết nối và do đó có thể không an toàn để sử dụng trong chia sẻ lưu trữ hoặc các môi trường tương tự!

Các vấn đề liên quan