windowsの下でpyinstallerを使ってOS.Popenを包装します.

1448 ワード

問題:pyinstaller使用-w包装後のOS.Popen()運転ヒントWindowsErr:[Errer 6]
オンライン検索方法:
1.subprocess.Popen呼び出し異常:pyinstallerを使って作成します.exeファイルをインストールした後、p=subprocess.Popen(cmd、shell=True、stdout=subprocess.PIPE、stder=subprocess.stdOUT)を使ってWindowsErrを報告します.output(cmd)もこの異常を報告します.変なのは、直接ソーステストを実行する時のシステムは全く問題がありません.その後、pyinstallerを使って包装すると、Popenは以下のように初期化されるべきであることが分かりました.
p = subprocess.Popen("cmd",shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
msg = ''
for line in p.stdout.readlines():
    msg += line
status = p.wait()
残念ながら、まだ曲線救国しましょう.OS.systemを使い続けます.最初は使っていません.OS.systemはデフォルトで現在のプログラムをブロックして実行しますが、cmd命令の前にstartを入れて、現在のプログラムをブロックしないで実行します.次のとおりです
import os
os.system(r"start qq.exe")
少なくとも現在のプログラムの実行は大丈夫ですが、元の問題はまだ解決されていません.まずメモして、引き続き答えを探してください.
 
転載先:https://www.cnblogs.com/zpw-1/p/10579718.html