Как читать подпапки каталога и писать в текстовый файл в представлении Django - PullRequest
0 голосов
/ 17 мая 2019

Мне нужно прочитать имена подпапок каталога и записать их в текстовый файл в представлении django

Я уже пробовал следующий код, но пользовательский интерфейс не загружается с этим кодом.

def start(request):
    try:
    cwd=os.getcwd()
    os.chdir("/Volumes/localStorage2/DHLData/DHLs")
    subfolders=os.listdir()
    os.chdir(cwd)
    file = open("/Volumes/localStorage2/DHL/UI/dhl_list.txt", "w")
        for i in subfolders:    
            file.write(i)
        file.close()

Я написал весь код представления

def start(request):
    try:
    #cwd=os.getcwd()
    # os.chdir("/Volumes/localStorage2/DHLData/DHLs")
    #subfolders=os.listdir()
    # os.chdir(cwd)
    # file =open("/Volumes/localStorage2/DHL/UI/dhl_list.txt","w")
    # for i in subfolders:  
        # file.write(i)
        # file.write("\n")
    # file.close()
    dhl_list = []    
    if os.path.exists("/Volumes/localStorage2/DHLData/DHLs"):        
        with open("/Volumes/localStorage2/DHL/UI/dhl_list.txt") as dhlListFile:
            for dhl_name in dhlListFile:
                dhl_list.append(dhl_name)    
    return render(request, "i3_flow.html",{"dhl_list":dhl_list})
except Exception:
    print(traceback.format_exc())    
    return render(request, "i3_flow.html")

1 Ответ

0 голосов
/ 17 мая 2019

Вы можете попробовать следующее, используя glob и os (оба в стандартной библиотеке): r_subfolders содержит их относительные имена, a_subfolders их абсолютные имена.

import os
import glob

my_path = "/Volumes/localStorage2/DHLData/DHLs"

r_subfolders = []
a_subfolders = []

for filename in glob.glob("%s/*" % my_path):
    if os.path.isdir(filename):
        r_subfolders += [filename[len(my_path)+1:]]
        a_subfolders += [filename]

print(r_subfolders)
print(a_subfolders)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...