def path(request, mypath):
mypath = request.path_info
_listdir = os.listdir(mypath) # ['folder1', 'folder2', 'folder3', 'folder4']
mess = _listdir
a = ' '
x=0
scope = vars()
for i in mess:
scope['x']+=1
a += mess[x]
a += '\n'
return HttpResponse(a)
我希望输出是这样的:
folder1 folder2 folder3 folder4
但为什么输出就像这样:
folder1 folder1 folder1 folder1
任何帮助?
答案 0 :(得分:4)
该功能中有大量不必要的代码。
def path(request):
return HttpResponse('\n'.join(os.listdir(request.path_info)))
完成工作!
答案 1 :(得分:3)
答案 2 :(得分:1)
你可能想要
a += mess[i]
而不是
a += mess[x]
答案 3 :(得分:1)
I hope the output is like this: folder1 folder2 folder3 folder4
因此,你有你的输出......
for i in os.listdir(mypath):
print i
您可return
i
循环HttpResponse
应该没有问题,请执行此操作
returnString = ""
for i in os.listdir(mypath):
returnString = returnString + i + "\n"
return returnString
答案 4 :(得分:1)
你所拥有的大部分内容都是不必要的。您只想循环返回值。不要修改它们,也不要通过范围间接地使用变量。
def path(request, mypath):
mypath = request.path_info
dirs = os.listdir(mypath) # ['folder1', 'folder2', 'folder3', 'folder4']
a = ''
for i in dirs:
a += dirs
a += '\n'
return HttpResponse(a)