【发布时间】:2018-02-19 20:50:11
【问题描述】:
我想将字符串 (dirPath + dirName[x]) 传递给函数
我已经尝试了 3 次组合字符串和特定列表(仅 dirName[x])
即使我已经将它转换为另一种类型,python 似乎也只是拒绝它。
有人知道我如何将这个字符串传递给函数吗?
layer = 0
dirName = []
#dummy value layer = 4, dirName = [/a,/b,/c,/d], dirBruteForce(layer,vault)
def dirBruteForce(layer,dirPath):
if layer > 0 :
#call again to make layered dir
for x in range(len(dirName)):
dirBruteForce(layer - 1, dirPath + dirName[x]) ##this line
#call end of the dir
elif layer is 0 :
for x in range(len(dirName)):
try:
os.makedirs(dirPath)
print(dirPath)
except Exception as e:
pass
###
尝试1:
dirBruteForce(layer - 1, dirPath + dirName[x])
TypeError: can only concatenate list (not "str") to list
尝试2:
list = [dirPath,str(dirName[x])]
dir = ''.join(list)
dirBruteForce(layer - 1, dir)
错误2:
dir = ''.join(list)
TypeError: sequence item 0: expected str instance, list found
尝试3:
dir = ''.join([dirPath,dirName[x]])
dirBruteForce(layer - 1, dir)
错误3:
dir = '-'.join([dirPath,dirName[x]])
TypeError: sequence item 0: expected str instance, list found
【问题讨论】:
-
你能澄清一下你的代码的目标是什么,或者那一行是什么?
-
我的目标是将字符串.. dirPath(字符串)和dirName[x](列表中的字符串)传递给函数
标签: string python-3.x list function recursion