Saya menggunakan pypsexec untuk menyambung ke mesin tingkap jauh. Saya perlu mencari senarai fail dengan sambungan tertentu. Itulah yang saya lakukan sekarang.
command = "dir /b/s *.py" client.run_executable("cmd.exe", arguments=f"/c {command}", asynchronous=True)
Apabila saya tidak menggunakan parameter async, saya tidak menerima sebarang respons pada mulanya. Selepas membaca dokumentasi, saya dapat melihat bahawa tugasan yang berjalan lama (seperti saya) harus menggunakan parameter ini. Walau bagaimanapun, ia tidak memberikan arahan yang jelas tentang cara mendapatkan output selepas kerja selesai.
Terima kasih terlebih dahulu!
Ini kerana anda tidak boleh mendapatkan output. Lihat https://github.com/jborean93/pypsexec /blob/master/pypsexec/client.py#l436-l466
if not interactive and not asynchronous: [...] # Here is where stdout and stderr is set else: stdout_out = None stderr_bytes = None [...] # Here is some code that doesn't change stdout_out or stderr_bytes return stdout_out, stderr_bytes, return_code
Seperti yang anda lihat, menggunakan asynchronous=true
时,stdout 和 stderr 将始终为 none
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan hasil arahan yang berjalan lama dalam pypexec?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!