我的python项目有2个文件。 一个文件是主文件,另一个文件只包含我希望在第一个主文件中使用的字符串。
字符串.py文件包含:
string = "hey"
string_two = "bye"
在主.py文件中,我尝试使用import函数调用此文件,然后打印字符串:
import strings
print string
我从控制台收到此错误:
NameError: name 'string' is not defined
为什么会这样?不应该工作,因为我已将文件导入main.py文件? 我做错了什么?
答案 0 :(得分:4)
我建议你使用'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
希望有所帮助!
答案 1 :(得分:-1)
import strings
print(strings.string)
或
from strings import string
print(string)
编辑看评论 - 这有问题,但对于某些模块,如tkinter,它是recommended way。 (如果您只是将一些代码移动到辅助文件中以便整洁,那么这样做并不是一种不合理的方法)
from strings import *
print(string)
即。没有.py
这是文件和变量的错误名称。