我有一个批处理文件,我用它来加载一些预构建二进制文件来控制我的设备。 它的命令是:
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运行这个批处理文件,请帮帮我。
顺便说一句,我尝试了另一个批处理文件,如,
echo Hello
但没有任何反应。
答案 0 :(得分:0)
我认为这应该是这样的:
<强> batch.py 强>
echo Hello World!
pause
<强> test.bat的强>
Run keyword if '${user_check}' == 'yes'
... Run Keywords
... Validate User Record
... ${created_at}
... ${create_or_update_in_db}
Validate User Audits Record
Validate User Sponsor Assignments Record
Validate User Sponsor Assignment Audits Record
答案 1 :(得分:0)
这是一个简单的解决方案。
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
答案 2 :(得分:0)
您也可以使用此
import subprocess
subprocess.call(["C:\\temp\\test.bat"], shell=False)
<强> test.bat的强>
copy "C:\temp\test.txt" "C:\temp\test2.txt"
答案 3 :(得分:0)
许多人提出了非常有用的解决方案,但我想指出该程序位于何处的重要性。 (蝙蝠文件通常是为自动化任务而制作的,以减少时间,这很有可能会执行一些与任务相关的路径)
import subprocess
os.chdir("YOUR TARGET PATH")
exit_code = subprocess.call(FILEPATH)# FILEPATH is from the standpoint on YOUR TARGET PATH