Python 为什么扩展函数逐个字符保存?
我知道这是一个非常简单的问题,但我找不到任何答案。我的代码是:Python 为什么扩展函数逐个字符保存?,python,Python,我知道这是一个非常简单的问题,但我找不到任何答案。我的代码是: f = [] for (dirpath, dirnames, filenames) in walk(opts.sourcedirectory): for name in filenames: fullsourcefilename = os.path.join(opts.sourcedirectory, name) print '\n'+fullsourcefilename f.
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
我不知道该怎么办。如何更正它?尝试将
f.extend(fullsourcefilename)
更改为f.append(fullsourcefilename)
将“在数组末尾附加一个值为x的新项。”
will“将iterable中的项追加到数组的末尾。如果iterable是另一个数组,则它必须具有完全相同的类型代码;如果不是,则将引发TypeError。如果iterable不是数组,则它必须是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]]
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]
extend
的一个简单示例是:
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]]
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]
我想你在找
f.append
f.extend
extendsf
提供了iterable,因为字符串是iterable,其中的1长度字符串是iterable的元素,所以函数用字符扩展f
。@Sukritkalla是的right@Shombol-shagol如果确实需要.extend
您可以使用.extend([data])
,这将首先在列表中包装数据。@Alexei是的,我想要那个。