从python中的单独文件导入列表变量

从python中的单独文件导入列表变量,python,Python,script.py list = ['one', 'two', 'three'] # python script here 我的列表越来越长(大约400行)。。。有没有办法将变量列表放在一个单独的py文件中并导入它 或者我应该有一个单独的文件并通过迭代创建一个列表 list.txt one two three 我怎样才能做到这一点呢?确定为什么不能 变形金刚 mylist = [ 'one', 'two', 'three', 'four', ] main.p

script.py

list = ['one',
        'two',
        'three']
# python script here
我的列表越来越长(大约400行)。。。有没有办法将变量
列表
放在一个单独的py文件中并导入它

或者我应该有一个单独的文件并通过迭代创建一个列表

list.txt

one
two
three
我怎样才能做到这一点呢?

确定为什么不能

变形金刚

mylist = [
'one',
'two',
'three',
'four',
]
main.py

from vars import mylist

对!!只需创建另一个python列表并将其导入主程序

在variables.py中

mylist = ['this', 'that', 'theother']
在main.py中

from variables import mylist

Shashank和Justin提供了很好的答案,但如果您真的想将其保存为文本文件,您可能希望尝试以下方法:

myfile=open('listFile.txt','r')
对于myfile中的word:
list.append(word)

我会在这里使用
pickle

try: 
    import cPickle as pickle
except ImportError:
    import pickle

my_list = ['one',
        'two',
        'three']

pickle.dump(my_list, open('my_list.pkl', 'wb')) 

my_list = pickle.load(open('my_list.pkl', 'rb'))

将它保存在一个.json文件中,并用
l=json.load(file.json)
加载它。不过,我建议选择一个变量名,而不是内置的
列表
。您可以
pickle
您的列表。我只会在
中尝试
/
除了
块之外`尝试:将cPickle作为pickle导入,但导入除外。错误:导入pickle。原因是:cPickle并不是在所有计算机上都可用,在Python3中,如果可用,则导入cPickle代替pickle。然而,在pickle中,这是一个不错的选择,它是存储数据的最佳方式之一。@Zizouz212,谢谢,我不知道这是个问题,我从来没有遇到过问题。我将更新我的答案以反映您的建议。
myfile
只是一个文件对象。要获取文件内容,您应该在myfile.read()中为word使用
。我最近刚刚了解了这一点,非常棒。很抱歉格式化(在移动设备上),但在python中,如果len(word.split())==4,则在open(“file.txt”,“r”)中对word设置“words=word.split()”就很容易了。这个简单易读的一行程序将文件中所有4个字母的单词放入数组“words”。太棒了。在牙缝里放了一个if子句,这是一个列表理解,然后是的。列表理解