我知道这是一个非常简单的问题,但我无法找到答案。我的代码是:
f = []
for (dirpath, dirnames, filenames) in walk(opts.sourcedirectory):
for name in filenames:
fullsourcefilename = os.path.join(opts.sourcedirectory, name)
print '\n'+fullsourcefilename
f.extend(fullsourcefilename)
break
print "it is finished"
for fileo in f:
print '\n'+fileo
exit()
首次打印( fullsourcefilename )是正常的,显示文件的完整路径,但第二次有一些输出如下:
d
e
x
.
h
t
m
l
我不知道如何处理它。我该如何纠正?
答案 0 :(得分:0)
尝试将f.extend(fullsourcefilename)
更改为f.append(fullsourcefilename)
。
append(x)
将"将值为x的新项目附加到数组的末尾。"
extend(iterable)
将"将项目从iterable追加到数组的末尾。如果iterable是另一个数组,它必须具有完全相同的类型代码;如果没有,将引发TypeError。如果iterable不是数组,则它必须是可迭代的,并且其元素必须是要附加到数组的正确类型。"
append
的一个简单示例是:
initial_list = [1, 2, 3]
initial_list.append(4) # initial_list is now [1, 2, 3, 4]
initial_list.append([5, 6]) # initial_list is now [1, 2, 3, 4, [5, 6]]
extend
的一个简单示例是:
initial_list = [1, 2, 3]
initial_list.extend(4) # TypeError: 'int' object is not iterable
initial_list.extend([4, 5]) # initial_list is now [1, 2, 3, 4, 5]
initial_list.extend([6]) #initial_list is now [1, 2, 3, 4, 5, 6]