Сочетание метода обзора со скриптом сортировки файлов os.listdir - PullRequest
0 голосов
/ 25 сентября 2018

Я начинающий программист на Python, и я нашел два фрагмента кода, которые в основном делали бы то, что я хочу от программы, которую я создаю.Но у меня есть проблема, чтобы заставить их работать вместе.browse_button - это метод просмотра каталогов, который дает мне каталог, в котором я бы хотел использовать другой метод поиска sort_button.Он будет сортировать файлы в, и если они не существуют, он создает папки.Затем он помещает файлы с указанными расширениями в эти папки.

Я пытался сделать эту работу в течение нескольких дней, и я чувствую себя застрявшим.Я не получаю вторую часть программы, работающую с частью просмотра.Теперь я получаю эту ошибку, когда нажимаю кнопку сортировки: "names = os.listdir (path) FileNotFoundError: [Errno 2] Нет такого файла или каталога: ''"

Но я чувствую, что не знаю, почему это не такиметь каталог, так как я могу просмотреть каталог на экране, прежде чем я нажимаю кнопку сортировки.Может кто-нибудь объяснить мне проблему, пожалуйста?<3 </p>

""" Filesortingprogramm """ 
import os    
import shutil    
from tkinter import filedialog
from tkinter import *

def browse_button():
    # Allow user to select a directory and store it in global var
    # called folder_path
    global folder_path
    filename = filedialog.askdirectory()
    folder_path.set(filename)
    print(filename)

root = Tk()

folder_path = StringVar()

label0 = Label(root, text="Filesorter")
label0.config(font=("Courier", 25))
label0.grid(row=0 ,column=2)
label1 = Label(root, text="open folder to be sorted")
label1.config(font=("Courier", 10))
label1.grid(row=1, column=2)
lbl1 = Label(master=root,textvariable=folder_path)
lbl1.grid(row=2, column=1)

button2 = Button(text="Browse", command=browse_button)
button2.grid(row=3, column=3)

def sort_button()
    path = folder_path
    path = str()
    folder_name = ['text','kalkyl']
    names = os.listdir(path)
    for x in range(0,2):
        if not os.path.exists(path+folder_name[x]):
            os.makedirs(path+folder_name[x])
    for files in names:
        if ".odt" in files and not os.path.exists(path + 'text/' + files):
            shutil.move(path+files, path+'text/'+files)
        if ".ods" in files and not os.path.exists(path + 'kalkyl/' + files):
            shutil.move(path+files, path+'kalkyl/'+files)
button3 = Button(text="Sort", command=sort_button)
button3.grid(row=4, column=3)

mainloop()
...