Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mendapatkan hasil arahan yang berjalan lama dalam pypexec?

Bagaimana untuk mendapatkan hasil arahan yang berjalan lama dalam pypexec?

WBOY
WBOYke hadapan
2024-02-12 11:30:051307semak imbas

如何在 pypsexec 中获取长时间运行命令的结果?

Kandungan soalan

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!


Jawapan betul


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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:helaian sprite animasi pygameArtikel seterusnya:helaian sprite animasi pygame