从python中的单独文件导入列表变量
script.py从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
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子句,这是一个列表理解,然后是的。列表理解