[英]python import with absolute path
我具有以下文件夾結構,並希望找到一種導入python模塊的好方法。
project1/test/benchmark/benchmark_project1.py
#in benchmark_project1.py
from project1.test.benchmark import *
我的問題是如何擺脫project1
,因為它可能被重命名為“ project2
”或其他東西。 我想使用絕對路徑import
,但不知道實現此目標的好方法。
您可以使用os.chdir()
在import語句之前更改目錄,然后再將其更改回來。 這將允許您指定要導入的精確文件。 您可以使用os.listdir()
來獲取目錄中所有文件的列表,然后對它們進行索引。 使用循環將獲取文件夾中的所有模塊,或者根據某種模式提供正確的索引將為您提供特定的索引。 glob模塊允許您使用正則表達式選擇文件。
import os
cwd = os.getcwd()
new_dir = 'project1/test/benchmark/'
list_dir = os.listdir(new_dir) # Find all matching
os.chdir(new_dir)
for i in range(len(list_dir): # Import all of them (or index them in some way)
module = list_dir[i][0:-3] # Filter off the '.py' file extension
from module import *
os.chdir(cwd)
或者,您可以將位置添加到路徑中,而不用更改目錄。 請查看此問題以獲取更多資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.