[英]Run .bat file using Python
我有一個批處理文件,可用來加載一些預生成的二進制文件來控制我的設備。 它的命令是:
cd build
java -classpath .;..\Library\mfz-rxtx-2.2-20081207-win-x86\RXTXcomm.jar -
Djava.library.path=..\Library\mfz-rxtx-2.2-20081207-win-x86 tabotSample/Good1
pause
現在,我想使用Python運行批處理文件,並嘗試了os.system(batch,bat)
,並嘗試了使用Popen
import os from subprocess import Popen os.popen("cd TAbot") r=os.popen("hello.bat")
但是,python控制台(Anaconda python 2.7)似乎執行了代碼,但未返回任何內容,也沒有任何反應。 我想從python運行此批處理文件,請幫助我。 順便說一句,我嘗試了popen為另一個批處理文件,例如, echo Hello
但沒有任何反應。
你也可以用這個
import subprocess
subprocess.call(["C:\\temp\\test.bat"], shell=False)
測試棒
copy "C:\temp\test.txt" "C:\temp\test2.txt"
我認為這應該像這樣工作:
批處理
from subprocess import Popen
p = Popen("test.bat", cwd=r"C:\path\to\batch\folder")
stdout, stderr = p.communicate()
測試棒
echo Hello World!
pause
這是簡單的解決方案。
from subprocess import Popen
import subprocess
def run_batch_file(file_path):
Popen(file_path,creationflags=subprocess.CREATE_NEW_CONSOLE)
run_batch_file('file_name.bat')
file_name.bat
echo .bat file running from python
pause
在這里,許多人提出了非常有用的解決方案,但我想指出該程序位於何處的重要性。 (Bat文件通常是為自動化任務而制作的,以減少時間,這很有可能會執行某些與任務相關的路徑)
import subprocess
os.chdir("YOUR TARGET PATH")
exit_code = subprocess.call(FILEPATH)# FILEPATH is from the standpoint on YOUR TARGET PATH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.