为了账号安全,请及时绑定邮箱和手机立即绑定

在python中,如何导入文件名以数字开头

在python中,如何导入文件名以数字开头

一只萌萌小番薯 2019-11-14 14:40:33
基本上有一个名为的文件8puzzle.py,我想将该文件导入另一个文件(在同一文件夹中,因为提供了该文件,所以无法更改文件名)。无论如何,在Python中可以做到这一点吗?我尝试了通常的方式from 8puzzle import *,这给了我一个错误。错误是:>>> import 8puzzle  File "<input>", line 1    import 8puzzle           ^SyntaxError: invalid syntax>>> 
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

你可以做


puzzle = __import__('8puzzle')

非常有趣的问题。我会记住不要用数字命名。


如果您愿意import *-您应该查看此问题和答案。


查看完整回答
反对 回复 2019-11-14
?
侃侃无极

TA贡献2051条经验 获得超10个赞

上面的答案是正确的,但是到目前为止,推荐的方法是使用import_modulefunction:


importlib.import_module(name, package=None)

导入模块。name参数以绝对或相对术语(例如pkg.mod或..mod)指定要导入的模块。如果名称是用相对术语指定的,则必须将package参数设置为要用作解析包名称的定位符的包的名称(例如,import_module('..mod', 'pkg.subpkg')import pkg.mod)。


import_module()函数充当的简化包装 importlib.__import__()。这意味着该函数的所有语义均源自importlib.__import__()。这两个函数之间最重要的区别在于,它import_module()返回指定的程序包或模块(例如pkg.mod),而__import__()返回顶级程序包或模块(例如pkg)。


如果要动态导入自解释程序开始执行以来创建的模块(例如,创建了Python源文件),则可能需要调用invalidate_caches()以便导入系统注意到新模块。


__import__ 现在不推荐。


importlib.__import__(name, globals=None, locals=None, fromlist=(), level=0)

内置__import__()功能的实现。


注意应该以编程方式导入模块,import_module()而不要使用此功能。


查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 5155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信