我写了一个程序来生成一个数字字符串,由长度为0的0,1,2和3组成,并在decode.txt文件中写入输出。以下是代码:
import numpy as np
n_one =int(input('Insert the amount of 1: '))
n_two =int(input('Insert the amount of 2: '))
n_three = int(input('Insert the amount of 3: '))
l = n_one+n_two+n_three
n_zero = l+1
s = (2*(n_zero))-1
data = [0]*n_zero + [1]*n_one + [2]*n_two + [3]*n_three
print ("Data string length is %d" % len(data))
while data[0] == 0 and data[s-1]!=0:
np.random.shuffle(data)
datastring = ''.join(map(str, data))
datastring = str(int(datastring))
files = open('decode.txt', 'w')
files.write(datastring)
files.close()
print("Data string is : %s " % datastring)
当我尝试从另一个程序读取文件时,会出现问题,程序不会调用该字符串的最后一个值。
例如,如果生成的字符串为30112030000
,则另一个程序将仅调用3011203000
,表示不调用最后一个0。
但是,如果我将30112030000
直接键入.txt文件,则会读取所有值。我无法弄清楚代码中的错误。
谢谢
答案 0 :(得分:0)
某些程序可能不喜欢该文件不以换行符结尾的事实。在关闭之前尝试添加files.write('\n')
。