如何从同一个python脚本运行.py和.exe文件
我想知道如何从同一个python脚本运行.py和.exe文件 我有一个运行.py的脚本和一个运行.exe的脚本 我的问题是,我不知道如何从同一个脚本运行它们!我希望exe文件出现在两个.py文件之间 .py脚本 .exe脚本如何从同一个python脚本运行.py和.exe文件,python,numpy,exe,Python,Numpy,Exe,我想知道如何从同一个python脚本运行.py和.exe文件 我有一个运行.py的脚本和一个运行.exe的脚本 我的问题是,我不知道如何从同一个脚本运行它们!我希望exe文件出现在两个.py文件之间 .py脚本 .exe脚本 只需检查每种类型 def launch(exp): # check if exe or py if (exp.endswith(".exe")): # So it's an exe. a=subprocess
只需检查每种类型
def launch(exp):
# check if exe or py
if (exp.endswith(".exe")): # So it's an exe.
a=subprocess.Popen(exp)
a1=os.system(exp)
else: # Otherwise is a .py
# Launch a compiled PsychoPy experiment (.py) via subprocess.
command = [sys.executable, '-u', exp] # spaces in file names are ok
proc = subprocess.Popen(command)
proc.communicate()
del proc
# And just put your exe filename between the two py files.
expts = ['myPythonFile1.py', r'myEXEfile.exe', 'myPythonFile2.py']
for exp in expts:
launch(exp)
此外,如果您不使用进程输出,我建议您使用
proc.wait()
而不是proc.communicate
对不起,我所有的代码格式都已丢失!将尝试和编辑…为什么不使用<代码>如果条件,并相应地处理每种类型?我不知道我如何能够以中间的.exe以指定的顺序运行它们…代码上有IDE吗?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division # so that 1/3=0.333 instead of 1/3=0
from psychopy import visual, core, data, event, logging, sound, gui
from psychopy.constants import * # things like STARTED, FINISHED
import numpy as np # whole numpy lib is available, prepend 'np.'
from numpy import sin, cos, tan, log, log10, pi, average, sqrt, std, deg2rad, rad2deg, linspace, asarray
from numpy.random import random, randint, normal, shuffle
import os # handy system and path functions
import subprocess
a=subprocess.Popen(r"myEXEfile.exe")
a1=os.system(r"myEXEfile.exe")
def launch(exp):
# check if exe or py
if (exp.endswith(".exe")): # So it's an exe.
a=subprocess.Popen(exp)
a1=os.system(exp)
else: # Otherwise is a .py
# Launch a compiled PsychoPy experiment (.py) via subprocess.
command = [sys.executable, '-u', exp] # spaces in file names are ok
proc = subprocess.Popen(command)
proc.communicate()
del proc
# And just put your exe filename between the two py files.
expts = ['myPythonFile1.py', r'myEXEfile.exe', 'myPythonFile2.py']
for exp in expts:
launch(exp)