小编Jas*_*ino的帖子

使用Python的Multiprocessing模块执行同时和单独的SEAWAT/MODFLOW模型运行

我正在尝试在我的8处理器64位Windows 7机器上完成100个模型运行.我想同时运行7个模型实例以减少我的总运行时间(每个模型运行大约9.5分钟).我查看了几个与Python的Multiprocessing模块有关的线程,但我仍然遗漏了一些东西.

使用多处理模块

如何在多处理器系统上生成并行子进程?

Python多处理队列

我的过程:

我有100个不同的参数集,我想通过SEAWAT/MODFLOW来比较结果.我为每个模型运行预先构建了模型输入文件,并将它们存储在自己的目录中.我希望能够做的是一次运行7个模型,直到完成所有实现.不需要在进程之间进行通信或显示结果.到目前为止,我只能按顺序生成模型:

import os,subprocess
import multiprocessing as mp

ws = r'D:\Data\Users\jbellino\Project\stJohnsDeepening\model\xsec_a'
files = []
for f in os.listdir(ws + r'\fieldgen\reals'):
    if f.endswith('.npy'):
        files.append(f)

## def work(cmd):
##     return subprocess.call(cmd, shell=False)

def run(f,def_param=ws):
    real = f.split('_')[2].split('.')[0]
    print 'Realization %s' % real

    mf2k = r'c:\modflow\mf2k.1_19\bin\mf2k.exe '
    mf2k5 = r'c:\modflow\MF2005_1_8\bin\mf2005.exe '
    seawatV4 = r'c:\modflow\swt_v4_00_04\exe\swt_v4.exe '
    seawatV4x64 = r'c:\modflow\swt_v4_00_04\exe\swt_v4x64.exe '

    exe = seawatV4x64
    swt_nam = ws + r'\reals\real%s\ss\ss.nam_swt' % real

    os.system( exe + swt_nam )


if __name__ == '__main__': …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

17
推荐指数
1
解决办法
2万
查看次数

使用XLRD模块和Python确定单元格字体样式(斜体或不斜体)

我正在尝试使用XLRD解析excel电子表格中的数据,以确定哪些单元格值是斜体.此信息将用于设置关于值是估计值还是报告值的标记.以下是数据示例:

owner_name          year    Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep     Oct     Nov     Dec
Alachua, city of    1978    17.4    15.7    16.7    18.3    18.9    18.9    19.2    17.4    19.5    19.8    17.1    16.4
Archer, city of     1978    5.6      3.6     4.3     4.5     4.7     4.8     5.3     5.3     5.4     5.6     3.9     2.8
Run Code Online (Sandbox Code Playgroud)

除了玩一些基本功能以了解如何从电子表格中提取数据之外,我还没有在很大程度上使用XLRD.现在我需要添加额外的功能来识别斜体单元格值.

在此先感谢您的帮助...

编辑:XLRD为我提供了我需要的功能; 感谢John Machin的回答.这是代码:

import xlrd

book = xlrd.open_workbook('fl_data.xls',formatting_info=True)
sh = book.sheet_by_index(0)

for row in range(0,sh.nrows):
    font = book.font_list
    cell_val = sh.cell_value(row,1)
    cell_xf = book.xf_list[sh.cell_xf_index(row,1)]

    print cell_val,font[cell_xf.font_index].italic
Run Code Online (Sandbox Code Playgroud)

python xlrd

6
推荐指数
1
解决办法
6438
查看次数

使用Python读取压缩的ESRI BIL文件

我有来自PRISM气候组的降水数据,现在以.bil格式提供(ESRI BIL,我认为),我希望能够用Python读取这些数据集.

我已安装了光谱包,但该open_image()方法返回错误:

def ReadBilFile(bil):
    import spectral as sp
    b = sp.open_image(bil)
ReadBilFile(r'G:\truncated\ppt\1950\PRISM_ppt_stable_4kmM2_1950_bil.bil')
Run Code Online (Sandbox Code Playgroud)

IOError: Unable to determine file type or type not supported.

光谱文档明确表示它支持BIL文件,任何人都可以了解这里发生的事情吗?我也愿意使用GDAL,据说它支持类似/等效的ESRI EHdr格式,但我找不到任何好的代码snipets来开始.

image-processing zipfile gdal spectral python-2.7

5
推荐指数
2
解决办法
2787
查看次数