簡體   English   中英

python&php-stdout重定向無法正常工作

[英]python & php - stdout redirect not working properly

在我的python腳本中,我將stdout重定向到一個文件:

sys.stdout = open("/home/pi/log.txt", "w")
print "test"

這可以正常工作,但是當我從PHP啟動python腳本時,文件已正確創建,但沒有添加任何行。 log.txt只是保持為空!

<?php
exec('sudo -u pi python /home/pi/partyknipse/admin/upload.py')
?>

將不勝感激任何建議。

有趣的是,在Windows PC上,情況正好相反。 Python不會打印測試行,但是當從PHP調用時會打印! 當我使用Python 3和PHP 5.4時,可能是我們的操作系統環境或版本。 但是,在以下兩種.py腳本運行中,都可以將stdout設置回原始狀態。 考慮一下您的目的:

saveout = sys.stdout                      # SAVE TO RETURN BACK
sys.stdout = open("log.txt", "w")
print("test")
sys.stdout = saveout                      # RESET TO NORMAL STATE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM