ValueError: invalid literal for int() with base 10: '\x00\x00\

对着背影说爱祢 提交于 2019-12-11 14:15:53

问题


I have a list of lists roots_3 = [['4', '5', '10'], ['11', '12', '13'], ['0', '17', '26'], ['1', '10', '15'], ['4', '19', '26'], ['11', '14', '22'],.... ] and I want to turn all the values inside in integer so I wrote a loop

for i in range(len(roots_3)):
    for j in range(len(roots_3[i])):
        roots_3[i][j]= np.int(roots_3[i][j])

and this is the error I get :

ValueError: invalid literal for int() with base 10: '\x00\x00\x00...

Note that roots_3 is obtained from several text files like this:

for file in files_3:
    with open ("/Users/stordd/Desktop/StageI2M/Leiden/k3/{}".format(file), 'r+',encoding="utf8", errors='ignore') as f:
            lines = f.readlines()
            z = []
            for line in lines:

                value = line.split()
                num_lines = len(f.readlines())
                z.append(value[1])
            roots_3.append(z)
            f.close()

I got the text files from a python script running a C program :

start = time.time()

cmd = ["/Users/stordd/Desktop/StageI2M/C/forestenostre/grezza_foresta", "-w","/Users/stordd/Desktop/StageI2M/Leiden/text_file/USA.txt", "-m", "3", "-e", "-0"]

ntrial = input("How many trials? ")
for i in range(int(ntrial)):

    # Open/Create the output file
    outFile = open("/Users/stordd/Desktop/StageI2M/Leiden/k3/{}.txt".format(i), 'ab')

    result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    out = result.stdout.read()

    outFile.write(out)
    outFile.close()
    time.sleep(1)
end = time.time()
print(end - start) 

and the text files output are very simple, they look like this :

radice 11
radice 14
radice 25

来源:https://stackoverflow.com/questions/56868548/valueerror-invalid-literal-for-int-with-base-10-x00-x00

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!