取余作用
第一种:数值运算 1 % 3 是指模运算, 取余数(remainder)
例如
>>>7%2
1
第二种:字符串操作 'abc %s' % 'abc' '%s'类似占位符类似占位符 这行代码的结果这行代码的结果
例如
>>>print ("This website name is %s" % ("pythontab.com"))
>>>this website name is pythontab.com
这边是关于读取文件夹函数在手写数字识别中的运用的小段代码
def img2vector(filename):
returnVect = np.zeros((1,1024))
fr = open(filename)
for i in range(32):
lineStr = fr.readline()
for j in range(32):
returnVect[0,32*i+j] = int(lineStr[j])
return returnVect
#用来装文件真实所代表的数字
hwLabels = []
#要读取的文件夹会生成一个列表
trainingFileList = listdir('trainingDigits')
#计算文件个数
m = len(trainingFileList)
trainingMat = np.zeros((m,1024))
for i in range(m):
fileNameStr = trainingFileList[i]#把文件名取到文件名变量里去
#文件名是0_186.txt,最前面的0代表这个文件图形所表示的数字
#通过'.'把文件进行分割0_186,txt
fileStr = fileNameStr.split('.')[0]
classNumStr = int(fileNameStr.split('_')[0])
hwLabels.append(classNumStr)
#形参格式文件名%s用作表示用str()方法处理的对象
#字符串操作 'abc %s' % 'abc' '%s'类似占位符类似占位符 这行代码的结果这行代码的结果
trainingMat[i,:] = img2vector('trainingDigits/%s' % fileNameStr)
print('trainingDigits/%s' %fileNameStr)