2009-10-04 33 views
5

Tôi có ứng dụng ncurses kiểm tra kích thước đầu cuối khi khởi động và thoát ngay lập tức nếu nó không vừa.Cách đặt rõ ràng kích thước thiết bị đầu cuối khi sử dụng pexpect

Trong Linux, kích thước mặc định là 80x24, ứng dụng này yêu cầu ít nhất 25. Sửa lỗi thật dễ dàng, tôi chỉ thay đổi kích thước cửa sổ mô phỏng thiết bị đầu cuối (trong X) trước khi chạy ứng dụng ncurses.

Tôi muốn tự động hóa ứng dụng ncurses với pexpect, nhưng tôi gặp khó khăn vì nó xem xét kích thước thiết bị đầu cuối nhỏ hơn yêu cầu khi khởi chạy thông qua pexpect, vì vậy nó không chạy. Bất kỳ cách nào để xác định kích thước thiết bị đầu cuối với pexpect rõ ràng khi khởi động?

Trả lời

5

Thử đặt biến môi trường LINES và COLUMNS trước khi bạn sử dụng tính năng mong đợi.

Pexpect sẽ vượt qua đối với môi trường cho các công việc phụ, và một số (tất cả?) Nguyền rủa chương trình đọc các biến môi trường trước khi bắt đầu.

ví dụ

import os 
os.environ['LINES'] = "25" 
os.environ['COLUMNS'] = "80" 
# run pexpect stuff as before 
+0

Cảm ơn bạn, nó làm việc. –

3

Bạn cũng có thể sử dụng:

import pexpect 
child = pexpect.spawn(cmd) 
child.setwinsize(400,400) 
Các vấn đề liên quan