首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python重新运行maxent

使用python重新运行maxent
EN

Stack Overflow用户
提问于 2020-01-17 17:58:34
回答 1查看 113关注 0票数 0

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

代码语言:javascript
复制
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使用哪个输入。但是,我似乎找不到任何关于指定程序输入的函数的文档。

有没有人对下一步有什么想法?

#en0#

现在我有以下代码:

代码语言:javascript
复制
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中给出了以下错误:

代码语言:javascript
复制
Initialization flags not understood: D:\Maxent\samples\Aeshna_juncea.csv

以及pyhton中的跟随错误

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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而不是种,以确保库中不存在物种这个词。

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 19:17:44

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

我已经下载了Maxen,并找到了必要的参数/标志。当你启动Maxent时,点击help并向下滚动到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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59785029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档