簡體   English   中英

在終端中導入Python庫

[英]Import Python library in terminal

我需要在終端中多次運行Python腳本 此腳本要求我導入一些庫。 因此,每次我在終端中調用腳本時,都會再次加載庫,這會浪費時間。 一開始我有什么辦法可以一勞永逸地導入庫嗎? (如果我嘗試“天真”的方式,首先調用一個腳本只是為了導入庫,然后運行我的代碼,則它將不起作用)。

編輯:我需要在終端中運行該腳本,因為實際上它是在Java開發的另一個程序中提供的。 Java代碼在終端中調用Pythin腳本,讀取其結果並進行處理,然后再次調用它。

腳本完成后,庫將被卸載,因此處理此問題的最佳方法是編寫腳本,以便腳本可以進行任意多次迭代,而不是多次運行整個腳本。 我可能會使用input()(或者如果運行Python2,則使用raw_input())進行多次讀操作,或者使用諸如click這樣的庫來為其創建命令行參數。

一個解決方案是,你可以離開python腳本始終運行和使用的管道像從下面拍攝的碼進程間通信這個答案。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM