首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在终端中导入Python库

在终端中导入Python库
EN

Stack Overflow用户
提问于 2018-11-26 15:10:22
回答 2查看 1.6K关注 0票数 1

我需要在终端上运行几次Python脚本。这个脚本要求我导入一些库。因此,每次我在终端中调用脚本时,都会再次加载库,这会导致时间的浪费。有什么方法可以一劳永逸地导入库呢?(如果我尝试“朴素”的方式,首先调用一个脚本只是为了导入库,然后运行我的代码,那么它就不能工作)。

编辑:我需要在终端中运行脚本,因为它实际上是在Java开发的另一个程序中运行的。Java代码在终端中调用Pythin脚本,读取其结果并对其进行处理,然后再次调用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-26 15:41:41

一种解决方案是,您可以让python脚本始终运行,并使用管道在进程之间进行通信,如下面摘自this答案的代码。

代码语言:javascript
复制
import os, time

pipe_path = "/tmp/mypipe"
if not os.path.exists(pipe_path):
    os.mkfifo(pipe_path)
# Open the fifo. We need to open in non-blocking mode or it will stalls until
# someone opens it for writting
pipe_fd = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK)
with os.fdopen(pipe_fd) as pipe:
    while True:
        message = pipe.read()
        if message:
            print("Received: '%s'" % message)
        print("Doing other stuff")
        time.sleep(0.5)
票数 1
EN

Stack Overflow用户

发布于 2018-11-26 15:14:48

脚本完成后,库将被卸载,所以处理这个问题的最好方法是编写脚本,以便它可以多次迭代,而不是多次运行整个脚本。我可能会使用input() (或者raw_input(),如果您正在运行Python2)来读取您想要迭代它的多少次,或者使用像click这样的库来为它创建一个命令行参数。

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

https://stackoverflow.com/questions/53484032

复制
相关文章

相似问题

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