将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]]”我对答案做了更改。