繁体   English   中英

从模块导入与Python中的可执行文件同名的模块

[英]Importing from module with the same name as executable file in Python

我有一个可执行文件,例如,名为resource.py 它放置在名为resource的文件夹中。 重命名文件或文件夹是令人讨厌的-它是旧产品,并且用户习惯于使用此类命名。 在旧版本中,它在另一个项目下,因此导入它的过程听起来像是import main_product.resource.<..>

现在,我需要使用诸如import resource.<..>__import__('resource.<..>', ...) import resource.<..> 然后尝试一下,出现预期的错误,因为Python尝试首先从文件resource.py导入。

建议解决方案:

  1. sys.path删除当前文件夹的路径:
    • 在文件的开头,我们需要一个丑陋的代码块;
    • 此文件夹中没有可用的相对导入;
  2. 将文件夹路径放在sys.path列表的末尾:
    • 文件开头的较大的丑陋代码块;
    • 我不确定此功能是否会一直完美运行。

有任何有用的想法吗?

PS Python v2.6,FreeBSD 7.3

使用imp.find_module()imp.load_module()

find_module允许您指定自己的搜索路径

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM