导入一个由字符串组成的 .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
希望对您有所帮助!
我的 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
希望对您有所帮助!