stdoutとstderrを2つの異なるログファイルに出力したいと思います。 私はこのコードを試しましたが、エラーログに出力するだけですが、出力はruntime.logファイルにリダイレクトされません。windows python stdoutとstderrを2つの異なるファイルに変換する
コードはウィンドウで実行されており、ほとんどがrobocopyがコードで実行されています。
saveerr = sys.stderr
fsock = open('error.log', 'a')
sys.stderr = fsock
saveout = sys.stdout
fsock1 = open('runtime.log', 'a')
sys.stdout = fsock1
sys.stdout領域が機能していません。このコードの修正内容をお知らせください。
は、ここに私のコード全体私のポストを読み取るためのみんなに
import sys
saveerr = sys.stderr
fsock = open('error.log', 'a')
sys.stderr = fsock
saveout = sys.stdout
fsock1 = open('runtime.log', 'a')
sys.stdout = fsock1
##For site AUCB-NET-01 from source folder AUDC-RSTOR-01 E:\Canberra
exit_code1 = subprocess.call('robocopy \\\\aucb-net-01\\d$ \\\\nasaudc01\\remote_site_sync\\aucb-net-01 /E /MIR /W:2 /R:1', shell=True)
print ("exitcoode1=", exit_code1)
のおかげです。
どのようにRobocopyを起動していますか? (そして、なぜこのタグのついた 'PowerShell'ですか?) – TessellatingHeckler
これはあなたの* stdoutをruntime.logに転用するはずです。もしあなたがrobocopyを起動しているのであれば、stdoutをファイルに迂回させたいでしょう。 robocopyを起動するために使用しているコードを投稿してください – FloatingKiwi