为什么fortran exe在被python调用时找不到文本文件?

2024-04-25 04:18:38 发布

您现在位置:Python中文网/ 问答频道 /正文

Windows 10、GFortran、Python 3.4

我正在创建一个python可执行文件(GUI),它将调用几个fortran可执行文件。fortran可执行文件调用由python可执行文件创建的文本文件keyline.txt。fortran可执行文件和文本文件位于标记为F77_EXE的子文件夹中。你知道吗

从命令控制台调用时,fortran可执行文件读取keyline.txt时没有错误。但是,当python调用时,fortran代码找不到文本文件。你知道吗

我发现,如果我编写fortran可执行文件时把它们当作python可执行文件放在同一个文件夹中,它们就会正确运行。更清楚的是,我写的不是flnm = 'keyline.txt'inquire(file=TRIM(flnm),EXIST=exists)(fortran可执行文件和keyline.txt在同一个子文件夹中),就像可执行文件是一个文件夹一样(用python代码)。你知道吗

问题:为什么fortran可执行文件会有这种行为?python代码是否临时移动可执行文件?你知道吗

Python调用

subprocess.call(os.path.join(floc+'F77_EXE', 'TIMESTAMP.exe'), shell=True)

其中,floc是python可执行文件的位置,F77_EXE是包含fortran可执行文件和文本文件的子文件夹,TIMESTAMP.exe是要调用的fortran可执行文件。你知道吗


Tags: 代码txt文件夹可执行文件windowsexetimestamp文本文件