import 同名模块有什么好方法?

2014-08-13 11:20:04 +08:00
 datou552211
比如我有个叫test.py的脚本,我再它的内部调用import test 但test模块确实存在于site-packages中。在windows中这会默认引用的是test.py==有办法解决嘛
6785 次点击
所在节点    Python
6 条回复
dreampuf
2014-08-13 11:58:09 +08:00
- 尽量避开重名模块
- 从项目路径导入 from YOURAPP import test
- 改变 sys.path 顺序
Zuckonit
2014-08-13 12:28:01 +08:00
名字没取好
可以加上路径
pyKun
2014-08-13 12:48:49 +08:00
以后不要取这种命
除了一楼的方法还有
import ..test 类的写法
timonwong
2014-08-13 12:56:20 +08:00
还有更猥琐的方法
import imp

mod = imp.load_source(module_name, fullpath)
datou552211
2014-08-13 14:14:36 +08:00
@dreampuf
@Zuckonit
@pyKun
@timonwong
绝b不是我的本意,维护代码的时候遇到bug了,然后debug了很久,我了个擦。
dreampuf
2014-08-13 15:18:06 +08:00
@datou552211 print(module.__file__) 事半功倍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/127586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX