我想保存列表中的文件选项,如:
options = [
["ala", "bala", "ma", "sc"],
["fg", "ada", "aas","asd"],
]
此选项适用于测验。对于问题,我能够从文件中逐行获取文本,但是对于选项,这不起作用:
with open('Options.txt', 'r') as k:
options = k.readlines()
我该怎么办?
答案 0 :(得分:1)
您可以将每组选项存储为1行,逗号分隔:
# create a file
filename = "Options.txt"
with open(filename, 'w') as file:
file.write("a,b,c,d\n")
file.write("4,7,8,9\n")
file.write("27,k,l,pp\n")
您的文件如下:
a,b,c,d 4,7,8,9 27,k,l,pp
您可以通过以下方式阅读此文件:
# read file in
options =[]
with open(filename, 'r') as file:
for line in file:
options.append(line.strip().split(","))
print(options)
输出:
[['a', 'b', 'c', 'd'], ['4', '7', '8', '9'], ['27', 'k', 'l', 'pp']]
答案 1 :(得分:0)
如果您的Options.txt文件包含如下数据:
ala bala ma sc
fg ada aas asd
---
--- so on
这样做:
with open('Options.txt', 'r') as k:
lst = []
file_line = k.readline()
while file_line:
file_line_lst = list(file_line.strip().split())
lst.append(file_line_lst)
file_line = k.readline()
答案 2 :(得分:0)
您面临的问题是通过将内容作为一对列表data structures而不是字符串对象拉出来更容易处理。 最简单的方法是重命名options.txt文件options.py并假设此代码在同一目录中运行,它可能看起来像这样。
In [4]: import options as o
In [5]: gennie = ((o.options[0]+o.options[1]))
In [6]: type(gennie)
Out[6]: list
In [7]: gennie
Out[7]: ['ala', 'bala', 'ma', 'sc', 'fg', 'ada', 'aas', 'asd']
In [8]: g = iter(gennie)
In [9]: while True:
...: try:
...: print(g.__next__())
...: except StopIteration:
...: break
...:
输出:
阿拉
巴拉
马
SC
FG
ADA
AAS
asd