在我的Python/Django代碼中,我調用gdalbuildvrt
進程。這個過程應該創建一個.VRT文件,但它不會。爲了檢查它,我將子進程輸出寫入調試文件。這就是我要做的事:如何在Python/Django中調試子進程調用
process = subprocess.Popen(["gdalbuildvrt", mosaic, folder], stdout=subprocess.PIPE)
stdout = process.communicate()[0]
with open(os.path.join(os.path.dirname(os.path.abspath(__file__)), "debug.txt"), 'w') as file:
file.write('{}'.format(stdout) + " -> " + mosaic)
結果我看到這個文件DEBUG.TXT:
b'0...10...20...30...40...50...60...70...80...90...100 - done.\n' -> /var/www/vwrapper/accent/accent/layers/raw/mosaic.vrt
所以,你可以看到調試語句的第一部分說,它」好的:
0...10...20...30...40...50...60...70...80...90...100 - done.
而第二部分說,應該創建/var/www/vwrapper/accent/accent/layers/raw/mosaic.vrt
。但是,當我轉到目標文件夾並刷新它時,我看不到mosaic.vrt文件。那麼,這可能有什麼問題,我該如何解決?我應該補充說,在Windows機器上它是100%好的,但在CentOS上它卻沒有。
日誌'stderr'和'.returncode' ......這就是任何問題都會。 – TemporalWolf
@TemporalWolf。你會如此善意地詳細說明這一點嗎?如果你願意,你可以做出完整的答案。 – Jacobian