Tôi đang cố gắng sử dụng mô-đun con xử lý con trăn để đăng nhập vào một trang FTP bảo mật và sau đó lấy một tệp. Tuy nhiên tôi tiếp tục bị treo trên chỉ cần cố gắng để gửi mật khẩu khi nó được yêu cầu. Tôi cho đến nay có mã sau:Sử dụng tiến trình con để gửi mật khẩu
from subprocess import Popen, PIPE
proc = Popen(['sftp','[email protected]', 'stop'], stdin=PIPE)
proc.communicate('password')
Điều này vẫn dừng lại ở dấu nhắc mật khẩu. Nếu tôi nhập mật khẩu theo cách thủ công, nó sẽ đi tới trang FTP và sau đó nhập mật khẩu vào dòng lệnh. Tôi đã nhìn thấy mọi người đề nghị sử dụng pexpect nhưng dài câu chuyện ngắn tôi cần một giải pháp thư viện tiêu chuẩn. Có anyway với subprocess và/hoặc bất kỳ stdlib khác? Tôi đang quên gì ở trên?
Bản sao của http://stackoverflow.com/questions/2356391/why-does-supplying-stdin-to-subprocess-popen-cause-what-is-written-to-stdout-to-c ? –