2009-06-25 38 views

Trả lời

17

WExpect for Python.

Ghi chú trong file wexpect.py (lỗi chính tả không thay đổi và làm nổi bật thêm)

Wexpect là một cảng pexpext cho Windows. Vì python dành cho Windows thiếu các mô-đun cần thiết (pty, tty, select, termios, fctnl và resource) để chạy pexpect, cần tạo một back-end thực hiện bất kỳ chức năng nào được sử dụng dựa trên các mô-đun này . Wtty.py là mặt sau này. Trong bảng điều khiển thế giới Windows không đồng nhất. Họ có thể sử dụng các hàm đầu vào và đầu ra mức thấp hoặc cao và để xử lý chính xác cả hai trường hợp hai quy trình con được tạo ra cho instacne của Spawn, với một con intermidate có thể đọc liên tục từ bảng điều khiển và gửi dữ liệu đó qua một đường ống đến một thể hiện của wtty. Spawner.py không thể đọc được và đường ống dữ liệu.

tôi đã rời như nhiều mã còn nguyên vẹn như tôi có thể và cũng đã cố gắng rời khỏi như nhiều ý kiến ​​ nguyên vẹn là có thể (espicially cho các chức năng chưa được thay đổi) rất nhiều các ý kiến ​​sẽ được gây hiểu lầm trong mối quan hệ của họ để os cụ thể chức năng. Ngoài ra, chức năng sendcontrol và sendeof được unimplemnted tại thời gian này, như tôi không thể tìm thấy phiên bản Windows có ý nghĩa của các chức năng này.
Ngoài ra, bảng điều khiển không có bộ mô tả liên quan đến fild trên Windows, do đó, biến toàn cục child_fd sẽ luôn là Không.

+0

@Symmetric: bạn đã thay đổi vào liên kết để trỏ đến [ 'winpexpect'] (http: // bitbucket .org/geertj/winpexpect). Nhưng ['wexpect'] (http://sage.math.washington.edu/home/goreckc/sage/wexpect/) là một mô-đun khác. – jfs

+0

@ J.F.Sebastian: vị trí tốt, những liên kết cũ đã bị hỏng nên tôi không thể tìm thấy nhiều về dự đoán. Đã sửa. – Symmetric

2

Sử dụng Pexpect https://github.com/pexpect/pexpect

"Pexpect là Python tinh khiết" vì vậy nó sẽ chạy bất cứ nơi nào, mà không cần Cygwin quá,

chỉnh sửa: Pexpect phụ thuộc vào mô-đun pty mà hiện chỉ có sẵn cho Linux, như vậy là Nik đề nghị bạn nên sử dụng wexpect là một cổng của pexpect

0

Tôi biết đó là một bài cũ, nhưng tôi đã sử dụng thành công Pexpect dưới Cygwin. Hiện tại không có cách nào khác do sự cố tương thích POSIX trong Windows.

Một điều khác: WExpect hoạt động như Pexpect, infact nó yêu cầu Cygwin! Tại thời điểm này, PExpect là một lựa chọn tốt hơn.

Hy vọng điều này sẽ giúp

Fabio

5

Bạn có thể sử dụng cửa sổ CMD nhắc.

Bạn cần cài đặt python trong cửa sổ của mình.

mở dấu nhắc cmd và thực hiện lệnh dưới đây.

C:\Users\xxx>pip install pexpect (nếu bạn đã cài Python Path trong biến hệ thống)

hoặc

C:\Users\xxx>c:\python27\scripts\pip.exe install pexpect 

Collecting pexpect 
    Downloading pexpect-4.0.1.tar.gz (143kB) 
    100% |################################| 147kB 1.2MB/s 
Collecting ptyprocess>=0.5 (from pexpect) 
    Downloading ptyprocess-0.5.1-py2.py3-none-any.whl 
Building wheels for collected packages: pexpect 
    Running setup.py bdist_wheel for pexpect 
    Stored in directory: C:\Users\xxx\AppData\Local\pip\Cache\wheels\f2\65\89\09578bcd0efeabc7e2b0079cd62d3955c1477f2e55aa5031a4 
Successfully built pexpect 
Installing collected packages: ptyprocess, pexpect 
Successfully installed pexpect-4.0.1 ptyprocess-0.5.1 
Các vấn đề liên quan