我有一个批处理文件,我正在尝试使用python运行,但由于某种原因它不起作用。 批处理文件指定路径,然后执行某个命令,如下所示:
Path= %systemdrive%\somefolder\secondfolder\Step1
setupEP.exe ADDLOCAL="tp"
然后python脚本应该是这个文件,然后做一些其他的事情,这些与当前的其他类似文件无关。 问题是批处理文件尚未执行。 下面是我的python脚本
def func1():
os.popen(r"%systemdrive%\s1.bat")
def func1():
os.popen(r"%systemdrive%\s2.bat")
list=[func1(),func2()]
for i in list:
t1=threading.Thread(target=i, args=(1,))
t1.start()
t1.join()
如果我用一些随机循环替换批量执行,比如
for i in range(0,60):
print i
一切都很完美 帮助任何人?
答案 0 :(得分:2)
.Thread
应该收到一个可调用的对象,你传递的是func1()
,这是在调用之后对象的结果。
您基本上需要my_list = [func1, func2]
在您的情况下,批处理文件仅在脚本启动时运行一次,而不是在for
循环期间运行。
答案 1 :(得分:0)
您应该尝试调用批处理文件而不是打开它。尝试像
这样的东西call("PathToFile/File.bat")