Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将txt文件作为数组导入python会将两位数分割为单独的值_Python_Arrays_Save_Load - Fatal编程技术网

将txt文件作为数组导入python会将两位数分割为单独的值

将txt文件作为数组导入python会将两位数分割为单独的值,python,arrays,save,load,Python,Arrays,Save,Load,当我导入一个文件并将所有信息转换为一个数组时,出于某种原因,它会将两位数作为单独的数字读取,并按如下方式拆分: 'add' [2, 0] 我使用的代码如下所示: if oper == "or": direction = open("directions.txt", "r") direct = direction.readlines(1) direct = direct[0].replace('[', '').replace(']', '') direction.

当我导入一个文件并将所有信息转换为一个数组时,出于某种原因,它会将两位数作为单独的数字读取,并按如下方式拆分:

'add' [2, 0]
我使用的代码如下所示:

if oper == "or":
    direction = open("directions.txt", "r")
    direct = direction.readlines(1)
    direct = direct[0].replace('[', '').replace(']', '')
    direction.close()
    Or = open(direct+".txt", "r")
    content2 = Or.readlines(1) #Reads the first line in file
    content2 = content2[0].replace('[', '').replace(']', '')
    numbers2 = content2.split(", ")
    numbersAdd = list(map(int, numbers2[1]))
    numbersSub = list(map(int, numbers2[3]))
    numbersDiv = list(map(int, numbers2[5]))
    numbersMult = list(map(int, numbers2[7]))
    print("These are the answers: \noutput/:")
    print(numbers2[0],numbersAdd)
    print(numbers2[2],numbersSub)
    print(numbers2[4],numbersDiv)
    print(numbers2[6],numbersMult)
    print("")
[['add', 20], ['sub', 0], ['div', 0], ['mult', 0]]
文件中存储的信息如下所示:

if oper == "or":
    direction = open("directions.txt", "r")
    direct = direction.readlines(1)
    direct = direct[0].replace('[', '').replace(']', '')
    direction.close()
    Or = open(direct+".txt", "r")
    content2 = Or.readlines(1) #Reads the first line in file
    content2 = content2[0].replace('[', '').replace(']', '')
    numbers2 = content2.split(", ")
    numbersAdd = list(map(int, numbers2[1]))
    numbersSub = list(map(int, numbers2[3]))
    numbersDiv = list(map(int, numbers2[5]))
    numbersMult = list(map(int, numbers2[7]))
    print("These are the answers: \noutput/:")
    print(numbers2[0],numbersAdd)
    print(numbers2[2],numbersSub)
    print(numbers2[4],numbersDiv)
    print(numbers2[6],numbersMult)
    print("")
[['add', 20], ['sub', 0], ['div', 0], ['mult', 0]]

任何帮助都将不胜感激

您可以使用
ast.literal\u eval(content2[0])
将文件中的整行内容作为列表读取。

您可以使用
ast.literal\u eval()
将文件中的整行内容作为列表读取。那么我将把它放在这里的什么地方?
ast.literal\u eval(content2)
您能回答这个问题吗?当然,没问题。
ast.literal\u eval(content2)name错误:未定义名称“ast”
Traceback(最近一次调用):文件“C:\Users\Stefan\Videos\School work\save.py”,第407行,在ast.literal\u eval(content2)文件“C:\Users\Stefan\AppData\Local\Programs\Python36-32\lib\ast.py”第85行,在literal_eval return_convert(node_或字符串)文件“C:\Users\Stefan\AppData\Local\Programs\Python\Python36-32\lib\ast.py”的第84行,在_convertraise ValueError('格式不正确的节点或字符串:'+repr(node))ValueError:格式不正确的节点或字符串:[“[[[['add',0],'sub',0],'div',0],'mult',0]]”我对答案做了更改。