为人类进口
impfxxk的Python项目详细描述
这是一个关于修改sys.metapath和 使pythonimport语句尽可能平滑。
灵感
这个想法最初是受Bro/Zeek语言的启发, 在哪里使用@load语句 python,除了@load语句接受 相对路径作为其说明符。例如:
@load ./sample_local.bro
@load ../sample_parent.bro
@load ../sample/child.bro
项目结构如下:
root |-- foo | |-- this_script.bro | |-- sample_local.bro | |-- sample | |-- child.bro |-- sample_parent.bro
也就是说,@load语句总是相对于 它来自何处,而不是工作目录 或者package root如python中所示。
因此,我们打算使pythonimport语句 工作方式就像@load。这是 impfxxk项目。
期望值
如果您的项目是这样的:
root |-- foo | |-- this_script.py | |-- sample_local.py | |-- sample | |-- child.py |-- sample_parent.py
通常,您需要执行以下操作:
import.sample_localimport.sample.childimport..sample_parent
当python解释器尝试 当你不运行它的时候 /root/foo/,其中应该是相对路径。
但是,使用impfxxk,您只需添加一个语句 (还没决定)在你原来的^{tt2}之前$ 语句,就像__future__那样;您的代码将 按你的意愿工作。