为人类进口

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__那样;您的代码将 按你的意愿工作。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中