簡體   English   中英

動態模塊導入在 python 中不起作用 - 為什么不呢?

[英]Dynamic module import doesn't work in python - why not?

我正在嘗試將 python 腳本foo.py動態導入另一個可執行腳本,該腳本位於深度嵌套的文件夾中。 我在用着

import os
sys.path.insert(0, '../../../../.') 
from foo import Bar

這行得通,我可以愉快地使用Bar

我想讓腳本動態確定文件夾深度,例如

import os
root_path = os.path.relpath(os.popen("git rev-parse --show-toplevel").read()).replace("../reponame", ".")
print(root_path) # prints '../../../../.'
sys.path.insert(0, root_path)
from foo import Bar

但是這不起作用,腳本抱怨它在運行時找不到 Bar 。

為什么是這樣?

如果您調試,您會看到root_path實際上是'../../../../.\n' 刪除\n

root_path.strip()

暫無
暫無

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

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