【发布时间】:2016-01-18 20:42:21
【问题描述】:
我正在尝试运行一个函数,该函数在一个数字范围内返回两个值,并将返回的值存储到 ASCII.txt 文件中。
我的代码是这样的:
site = np.genfromtxt('...\Plot_1.txt', dtype=None, delimiter='\t')
def process(matrix, kernel_size, kernel_dilation, kernel_zs, kernel_norm, local_chm, threshold_value):
ker_size = kernel_size
ker_bx = 0
ker_by = 0
ker_a = kernel_dilation
ker_zs = kernel_zs
ker_norm = kernel_norm
loc_chm = local_chm
th_value = threshold_value
return ker_size, nr_trees #both are float numbers
for i in range(1, 6, 2):
list = []
a = process(site, 5, i, 2, 1, 2, 0.9) #This is the function, only returns two values
print a, type(a), np.shape(a)
list.append(a)
print list
with open('E:\Test_matrix_automatic.txt', 'a') as outfile:
outfile.write(list)
它给出了错误:
TypeError: 应为字符串或其他字符缓冲区对象
我不知道如何解决这个问题。我没有使用返回两个值的函数。
【问题讨论】:
-
请显示堆栈跟踪。
-
对不起,我不知道你指的是什么。我是编程初学者。
-
您的代码中的
site是什么,它在哪里定义? -
Stacktrace 是完整的错误;不仅仅是一条线。它显示了发生错误的上下文。
-
打印 Python 向您显示的完整错误消息,以及它打印的所有内容。