我會盡量簡短!
無論出于何種原因,我無法在 python 中完成我的整個程式,所以我不得不將一項特定任務外包給 php(一種我不太了解的語言)。當python程式運行時,應該觸發php程式運行,然后再做一些事情,這不是問題。
在我看來,為了能夠通過python運行某些東西,您需要先能夠通過cmd運行,然后才能讓python使用cmd運行程式。我在那里遇到了一些問題,因為程式位于不同的驅動器上,并且 php 程式參考了同一目錄和子目錄中的其他檔案和位置,這意味著我無法在一行 cmd 中執行,但首先必須更改目錄,然后從它所在的檔案夾中執行 php 程式。因為我的命令不僅僅是一行,所以我制作了一個包含所有步驟的批處理檔案。
我目前的作業方法是打開cmd,將cmd中的目錄切換到php檔案所在的位置,然后運行php檔案。我必須將 php 添加到“環境變數路徑”才能做到這一點。這是我運行時當前有效的批處理檔案:
cd /d C:
cd C:\Users\UserMain\Desktop\php\colorextract
php (2).php
當我從我的 E 盤雙擊這個 bat 檔案時,它成功地執行了 php 程式。但是當我告訴 python 執行批處理檔案時,這就是出錯的地方。
這是我的python代碼,為bat檔案的名稱道歉:
import os
os.system('cmd /k "bitch.bat"')
生成的 cmd 視窗然后通過批處理檔案的步驟:1)它更改到正確的目錄,2)它無法執行 php 檔案,因為:
'php' 不是內部或外部命令,也不是可運行的程式或批處理檔案。
現在,如果您在沒有將 php 添加到“環境變數路徑”的情況下嘗試運行 php 程式,這是您得到的標準錯誤,我知道這一點,因為我經歷了同樣的事情。但是如果我手動打開一個 cmd 視窗,而不是管理或任何東西,我可以 1) 成功執行批處理檔案中列出的步驟,然后程式運行,以及 2) 我什至可以運行 bat 檔案,并且也可以運行程式。
python 打開的 cmd 視窗似乎無法參考“環境變數路徑”,或者由于其他原因而無法執行普通 cmd 寡婦可以執行的所有操作。如何解決這個問題?
在此先感謝任何閱讀本文的人!
編輯:我發現 python 沒有檢測到我前一天對環境變數所做的更改,因此為什么 python 的 cmd 給出了環境變數中沒有 php 給出的確切錯誤。重新啟動計算機后,我的代碼作業正常。感謝@Gerhard 和@Aaron Junker 讓我更加認真地思考這個問題。
uj5u.com熱心網友回復:
所以我找到了一個可以在匯入os后運行的命令。
列印(作業系統環境)
我運行了它,它告訴我 Python 看不到 php 已添加到環境變數中,嗯,更有可能的是,python 沒有關于路徑變數中內容的最新資訊。
重新啟動我的計算機使更改生效,現在我的原始代碼可以作業了。雖然我確實覺得很愚蠢,但我很高興這個問題得到了解決。
uj5u.com熱心網友回復:
在我看來,這兩個實體都使用不同的環境變數。
打開
系統屬性 -> 高級 -> 環境變數并查看 PHP
PATH在用戶變數和系統變數中的變數中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322986.html
上一篇:無法決議符號“ActionFirstFragmentToSecondFragment”
下一篇:使用批處理創建多個檔案
