我在 for 循环的子进程和命令行输入方面遇到一些问题。
我有一个由 matlab 编写的代码生成的可执行文件。
此可执行文件采用文件夹名称作为输入变量,并创建如下结果文件。
path = r'C:/Users/MyName/python_project/Exe_Running/Folder_A/'
exe_path = r'C:\Users\MyName\python_project\Exe_Running\Folder_A\MyExe.exe'
# all need files and exe file in path folder
# so I use subprocess like below
subprocess.Popen(exe_path, shell=True).communicate()
# or
subprocess.call(exe_path)
# both subprocess function takes me like below command line user input
因此,我将路径('C:/Users/MyName/python_project/Exe_Running/Folder_A/')输入命令行
然后,它运行良好并制作了我想要的文件。
但是,当我使用像下面这样带有参数的子进程时
subprocess.Popen([exe_path, path], shell=True).communicate()
# or
subprocess.call([exe_path, path])
然后,它会出现错误“不支持将脚本作为函数运行。”
我不确定是因为它是用Matlab编写的文件还是其他原因。 exe文件是同事创建的可执行文件。
我必须多次运行exe文件,每次都必须输入不同的文件夹路径。
我想通过 for 循环重复此过程,并每次在命令行中输入不同的路径,如下所示。
folder_list = ['Folder_A', 'Folder_B', ..., 'Folder_Z']
for folder in folder_list:
subprocess.Popen(exe_path, shell=True).communicate()
# then, command line need user input
# I want fill user input to use my "folder" value in for loop without directly typing
有没有办法在用户输入中放入 for 循环变量? (我的python版本是3.9)
感谢您的阅读。
真诚的。
我希望填充用户输入以在 for 循环中使用我的“文件夹”值,而无需直接键入