当前位置:网站首页>arcmap下的多进程脚本
arcmap下的多进程脚本
2022-08-11 05:33:00 【我是无名的我】
arcmap中多为CPU密集运算,最好的方式为使用多进程而不是多线程(IO密集)
问题:python多进程无法正常在arcmap下正常开启
原因:arcmap下信息处理时,调用的时内置的py内核,但是一个arcmap进程只能调用一个py内核。
解决:使用外置的py内核,为保证兼容性,用2.7X 32位,必须把工作代码跟main
函数分开。
实例代码:
代码简单实现了数据的输入,并调用了arcpy。
# -*- coding: utf-8 -*-
""" Created on Thu Mar 12 19:12:59 2020 @author: zonggongban HGH """
import arcpy
import os
import sys
def worker_function(x):
name = os.path.join('E:/p', str(x) + '.txt')
with open(name, 'w') as f:
f.write(sys.version)
arcpy.AddMessage(999)
print(arcpy.GetMessages())
return name
将上述脚本命名为worker.py
# -*- coding: utf-8 -*-
""" Created on Thu Mar 12 19:12:59 2020 @author: zonggongban HGH """
import os
import arcpy
import multiprocessing
import time
import worker
def main():
''' 调用外置py内核 '''
multiprocessing.set_executable('G:/anaconda27/pythonw.exe')
pool = multiprocessing.Pool()
time.sleep(0.0001)
for i in [1, 2]:
pool.apply_async(work.worker_function, (i,)) # args are passed as a list
pool.close()
pool.join()
if __name__=='__main__':
asters = arcpy.GetParameterAsText(0)
main()
在主函数调用work.py
参考
can-multiprocessing-with-arcpy-be-run-in-a-script-tool
Create a script tool that uses multiprocessing
边栏推荐
- VMware workstation 16 installation and configuration
- 无胁科技-TVD每日漏洞情报-2022-7-30
- Basic use of Slurm
- 无胁科技-TVD每日漏洞情报-2022-7-22
- ETCD集群故障应急恢复-本地数据可用
- slurm cluster construction
- 勒索病毒eking.devos.mkp.makop.lockbit.eight.locked.roger等剖析及中毒文件恢复
- Project Notes - Random 2
- 2022年全国职业技能大赛网络安全竞赛试题B模块自己解析思路(2)
- 2022年全国职业技能大赛网络安全竞赛试题B模块自己解析思路(8)
猜你喜欢
随机推荐
windows10安全中心显示“修正未完成”
Local yum source build
CLUSTER DAY03 (Ceph overview, the deployment of Ceph CLUSTER, Ceph block storage)
buildroot嵌入式文件系统中vi显示行号
项目笔记——随机2
VMware workstation 16 安装与配置
无胁科技-TVD每日漏洞情报-2022-8-4
SSL证书部署后,为什么还是显示不安全?
Threatless Technology-TVD Daily Vulnerability Intelligence-2022-7-31
Threatless Technology-TVD Daily Vulnerability Intelligence-2022-7-22
(一)软件测试理论(0基础了解基础知识)
消息中间件
Threatless Technology-TVD Daily Vulnerability Intelligence-2022-7-29
No threat of science and technology - TVD vulnerability information daily - 2022-7-21
CLUSTER DAY01(集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群)
无胁科技-TVD每日漏洞情报-2022-8-1
Solve win10 installed portal v13 / v15 asked repeatedly to restart problem.
SECURITY DAY06 ( iptables firewall, filter table control, extended matching, typical application of nat table)
Threatless Technology-TVD Daily Vulnerability Intelligence-2022-8-6
Project Notes - Random 2