tkinter中的子进程,运行.exe文件

时间:2018-05-14 12:58:16

标签: python tkinter

我的代码:

import subprocess

for file in ('folder_with_all_files'):
  a= subprocess.Popen(['my_exe_file.exe',file,'command'],shell=True, stderr=subprocess.STDOUT,stdout=subprocess.PIPE)\ communicate()[0] 

通常在.py脚本中一切正常。但当我试图将这些行放入tkinter时,没有任何反应。

Tkinter代码的一部分:

 def Run():
      for file in ('folder_with_all_files'):
        a= subprocess.Popen(['my_exe_file.exe',file,'command'],shell=True, 
        stderr=subprocess.STDOUT,stdout=subprocess.PIPE)\ communicate()[0]


    button.configure(command=RUN)

我做错了什么?以及如何只选择我想要使用的文件的特定扩展名,例如:.dat 感谢

编辑:我也尝试过:

def Run():
  filenames=os.listdir('folder_with_all_files') 
  for file in filenames:
    a= subprocess.Popen(['my_exe_file.exe',file,'command'],shell=True, 
    stderr=subprocess.STDOUT,stdout=subprocess.PIPE)\ communicate()[0]

即使我正在添加文件的直接路径也不起作用

a= subprocess.Popen(['my_exe_file.exe','direct path/file','command']

但仍然无效

1 个答案:

答案 0 :(得分:1)

问题与文件有关,我只显示文件夹的路径,程序不知道应该使用哪些文件。

这行代码帮助我解决了问题,并获得了文件的具体扩展:

filenames= glob.glob(os.path.join('path',"*.xxx"))

干杯