将文本文件作为模块导入Python

时间:2019-01-14 12:09:41

标签: python text import

无论扩展名是什么原因,我都想导入纯文本文件作为python中的模块。

例如。我的程序的字符串放在单独的.py文件中,然后根据选择的语言,导入一个文件或另一个文件。

一切都很好用,但是,我想使这个文件对于普通用户来说显然不可读,因此,我想给他们一个自定义扩展名,它使已安装的任何程序都无法读取。 但是,由于import仅适用于.py文件,因此我想知道是否有一种方法可以处理其他文件类型。 还是做这种事情的另一种方式。

谢谢。

1 个答案:

答案 0 :(得分:1)

也许会读取文件源并使用eval方法?

您可以将其用作

def import_module(filename):
    with open(filename, 'r') as file:
        file_contents = file.read()
    module_object =  exec(file_contents)
    return module_object

但是该变体并不安全!

这样的问题在stackoverflow read it