我有一个写有数组的文件,例如:
[1, 2, 3, 4, 5, 6, 7]
如何读取它并使用python将数组放入变量中?到目前为止,发生的事情是我只是得到了字符串。
def get_data():
myfile = open('random_array.txt', 'r')
data = myfile.read().replace('\n', '')
return data
答案 0 :(得分:2)
如果格式总是那样,一种方法是使用json.loads
:
>>> s = "[1,2,3,4]"
>>> import json
>>> json.loads(s)
[1, 2, 3, 4]
这样做的好处是你可以使用逗号之间的任何空格,你可以在文本中使用浮点数和整数,等等。
所以,在你的情况下,你可以这样做:
import json
def get_data():
with open("random_array.txt", "r") as f:
return json.load(f)
答案 1 :(得分:1)
在这种特殊情况下,最好使用json
模块,因为您的数组似乎使用相同的格式,但通常您可以执行以下操作:
def get_data(filename):
with open(filename, 'r') as f:
return [int(x) for x in f.read().strip('[]\n').split(',')]
答案 2 :(得分:0)
这应该可以解决问题:
def get_data():
myfile = open('random_array.txt', 'r')
data = myfile.read().strip()
data = data[1:len(data)-1]
splitted = data.split(", ")
return splitted
这将删除开始和结尾" []"然后在每个", "
上拆分字符串,为您留下一个完全符合数字的字符串数组。