我使用python的datetime模块生成面向日期的uid文件。
但是我发现我不能从‘`uid_2014-10-13.py’中导入
似乎python认为在2014-10-13中这些'-‘是minus操作符。
我是否能够以另一种方式从该模块导入,还是应该重命名它?
发布于 2014-10-13 12:22:50
您仍然可以使用importlib.import_module()导入它
import importlib
module = importlib.import_module('uid_2014-10-13')但是,您确实应该生成同样是有效的Python标识符的模块名称;例如,不使用破折号。如果您使用datetime模块,例如,可以考虑使用datetime.date.strftime()设置日期的下划线格式。
演示:
>>> open('uid_2014-10-13.py', 'w').write('print "Hello world!"\n')
>>> import importlib
>>> module = importlib.import_module('uid_2014-10-13')
Hello world!
>>> module
<module 'uid_2014-10-13' from 'uid_2014-10-13.py'>https://stackoverflow.com/questions/26339884
复制相似问题