使用python重新运行maxent

2024-09-30 00:40:36 发布

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

我试图创建一个脚本,为不同的输入重新运行maxent。我有大约1500个品种需要单独加工。我的想法是在这个程序中使用python循环。但我似乎找不到正确的信息开始。 现在我有3行简单的代码告诉python打开程序

import subprocess
subprocess.call(['java', '-jar', r'C:\Program Files (x86)\Maxent\maxent.jar'])
subprocess.call([r'C:\Program Files (x86)\Maxent\maxent.bat'])

现在我想告诉python使用哪种输入。然而,我似乎找不到任何关于指定程序输入的函数的文档

有没有人对如何进行下一步有什么想法

----------------------编辑------------------

现在我有以下代码:

import glob
import subprocess

insect = glob.glob('D:\Maxent\samples\*.csv')
for species in insect:
    subprocess.call(['java', '-jar', r'D:\Maxent\maxent.jar', 'environmentallayers=D:\Maxent\layers',
                     species, 'outputdirectory= D:\Maxent\outputs', 'redoifexists', 'autorun'])

这使我在maxent中出现以下错误:

Initialization flags not understood: D:\Maxent\samples\Aeshna_juncea.csv

以及pyhton中的以下错误

C:\Users\merel\PycharmProjects\untitled\venv\Scripts\python.exe "C:/Users/merel/PycharmProjects/untitled/maxent python.py"
Error: Initialization flags not understood: species
Error: No species selected

我也用“周围物种”试过了。这给了我以下错误:

C:\Users\merel\PycharmProjects\untitled\venv\Scripts\python.exe "C:/Users/merel/PycharmProjects/untitled/maxent python.py"
Error: Initialization flags not understood: species
Error: No species selected

我不知道为什么程序不理解这个论点。我还试着用x而不是物种来确定图书馆中没有物种这个词


Tags: import程序错误errorcallusersglobjar
1条回答
网友
1楼 · 发布于 2024-09-30 00:40:36

如果我理解正确,您需要将参数/标志传递给Maxent的jar文件,以实现您的目标

我已经下载了Maxen并找到了必要的参数/标志。启动Maxent时,单击“帮助”并向下滚动到Batch mode,您可以在那里找到所有参数/标志,还有一个示例用法java -mx512m -jar maxent.jar environmentallayers=layers samplesfile=samples\bradypus.csv outputdirectory=outputs togglelayertype=ecoreg redoifexists autorun

您可以在路径后添加这些参数/标志,如下所示:

subprocess.call(['java', '-jar', r'C:\Program Files (x86)\Maxent\maxent.jar', 'environmentallayers=layers', 'samplesfile=samples\bradypus.csv', 'outputdirectory=outputs', 'togglelayertype=ecoreg', 'redoifexists', 'autorun'])

我希望这对你的项目有帮助。因为我对你的领域一无所知,所以我没有尝试过任何方法

编辑: 您不必调用.bat文件,因为它还使用给定的参数/标志执行maxent.jar

相关问题 更多 >

    热门问题