[英]Importing Python module from Bash
我在Linux下從命令行(Bash)啟動Python腳本。 我需要打開Python,導入一個模塊,然后解釋代碼行。 然后控制台必須保留在Python中(不要退出)。 我怎么做?
我嘗試過像這樣的別名:
alias program="cd /home/myname/programs/; python; import module; line_of_code"
但這只會啟動python並且命令不會執行(沒有模塊導入,沒有處理代碼行)。
如果我需要在腳本執行后保持Python打開(不退出),那么這樣做的正確方法是什么? 非常感謝!
使用子例程而不是別名
callmyprogram(){
python -i -c "import time;print time.localtime()"
}
callmyprogram
一個簡單的方法是使用“代碼”模塊:
python -c "import code; code.interact(local=locals())"
當調用code.interact()時,這將使您進入交互式shell。 要進行interact
的local
關鍵字參數用於預先填充創建的解釋器的默認命名空間; 我們將使用locals()
,它是一個內置函數,它將本地名稱空間作為字典返回。
你的命令看起來像這樣:
python -c "import mymodule, code; code.interact(local=locals())"
這會讓你進入一個擁有正確環境的翻譯。
例:
python -c "import time ; print 'waiting 2 sec.'; time.sleep(2); print 'finished' "
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.