导入一个由字符串组成的 .py 文件

Import a .py file which consists of strings

我的 python 项目有 2 个文件。 一个文件是主文件,另一个文件仅包含我希望在第一个主文件中使用的字符串。

字符串 .py 文件包括:

string = "hey"
string_two = "bye"

在主 .py 文件中,我尝试使用导入函数调用此文件,然后打印字符串:

import strings

print string

我从控制台收到这个错误:

NameError: name 'string' is not defined

为什么会这样?它不应该工作,因为我已经将文件导入 main.py 文件吗? 我做错了什么?

通常你会

import strings
print(strings.string)

from strings import string
print(string)

编辑见评论 - 这有问题,但对于某些模块,如 tkinter,它是 recommended way。 (如果您只是为了整洁而将一些代码移动到辅助文件中,那么这样做并不是不合理的做法)

from strings import *
print(string)

即没有 .py

虽然这对于文件和变量来说是一个错误的名称。

我建议您使用 'string' 以外的名称,因为它已经是 Python 中系统库的名称。请尝试以下操作:

my_strings.py

string_one = "hey"
string_two = "bye"

main.py

import my_strings

print my_strings.string_one

如果您只想导入特定字符串,可以在 main.py

中执行此操作
from my_strings import string_one
print string_one

希望对您有所帮助!