擅长:python、mysql、java
<p>如果您严格要求这个脚本“从另一个程序调用”,这个问题就没有解决方案。通过发出“python”脚本.py“在命令行上”。
如果只想执行一次“重导入”,那么只需启动一次python脚本。
考虑启动一个守护进程,它将启动一次,然后处理来自其他程序的调用。这样所有的初始化只需进行一次,下一次调用将很快。
如果将python代码分成两部分(第一部分用于守护进程,第二部分用于守护程序客户机),则可以调用'python客户端.py'来自另一个程序,但实际计算将由守护程序执行,只启动一次。在</p>
<p>例如:</p>
<p><strong>守护程序.py</strong></p>
<pre><code>import socket
#import arcpy
def actual_work():
#val = arcpy.GetCellValue_management("D:\dem-merged\lidar_wsg84", "-95.090174910630012 29.973962146120652", "")
#return str(val)
return 'dummy_reply'
def main():
sock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM )
try:
sock.bind( ('127.0.0.1', 6666) )
while True:
data, addr = sock.recvfrom( 4096 )
reply = actual_work()
sock.sendto(reply, addr)
except KeyboardInterrupt:
pass
finally:
sock.close()
if __name__ == '__main__':
main()
</code></pre>
<p><strong>客户端.py</strong></p>
^{pr2}$